面向过程程序设计02练习题答案_第1页
面向过程程序设计02练习题答案_第2页
面向过程程序设计02练习题答案_第3页
面向过程程序设计02练习题答案_第4页
面向过程程序设计02练习题答案_第5页
已阅读5页,还剩1页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、参考:1、运行结果为:不断从控制台接收字符,直到遇到x 开头的字符2、请说出使用 const 和 define 定义常量,在语法上和含义上如果用常量或者宏来定义一个 PI 值,那么语法分别如下:宏:不同,并编程举例说明。#defin3.1415926这个语法不是 c 语言语法,而是预编译指令语法,没有;结尾const:const float PI=3.1415926;这个语法是标准 c 语言常变量语法用宏来代表常数,好处:让代码更简洁明了,当然这有赖于你为宏取一个适当的名字,名字要以达意为主方便代码的缺点:对宏的处理,没有明确指定这个量的类型。这容易带来一些问题。而用常变量则可以明确指定变量的

2、数据类型。3、字符常量是一个字符,在程序中字符是用单引号括起来的。字符串常量由 0 个或若干个字符组合而成,在程序中字符串是 加一个结束符号0,编程示范如下:char a=a; / 表示一个字符引号括起来的,在时系统自动在字符串最后面char *b=abc; /第一种 c 语言表示的字符串char c4=def; /第二种 c 语言表示的字符串pr pr pr pr pr4 字节prf(%cn,a);f(%sn,b);f(%sn,c);f(%dn,sizeof(a);/输出 a 所占据的字节数f(%dn,sizeof(b);/输出abc文字常量区对应的地址(指针),所有的指针都是f(“%dn”

3、,sizeof(c);/输出成员所占据的字节数数组容量4、char c = 0;while(c = getchar() != n)if(c = a & c 4000 | iYear 1000)prf(input error!n); return -1;IsLeapYear(iYear); return 0;6.#include #include /*月份对应的天数 */MONTH_TO_DAY13 = 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31;/*判断是否是闰年 */IfLeapYear(iYear)if(iYear % 4 = 0 &

4、 iYear % 100 != 0) | (iYear % 400 = 0)MONTH_TO_DAY2 = 29;return 1;elseMONTH_TO_DAY2 = 28;return 0;/*判断日期是否合法 */IfRight(iYear,iMonth,iDay)if(iYear 4000 | iYear 12 | iMonth MONTH_TO_DAYiMonth | iDay 0) return 0;return 1;/*计算两个日期之间相差的天数 */GetDay(iYear1,iMonth1,iDay1,iYear2,iMonth2,iDay2)iDays = 0;i = 0

5、;if(iYear1 = iYear2) /如果在同一年if(IfLeapYear(iYear1) ;if(iMonth1 = iMonth2) /如果在同一个月iDays = iDay2 - iDay1; /相差的天数是两个日期天数差else/如果不在同一个月iDays += MONTH_TO_DAYiMonth1 - iDay1; /计算 iMonth1 月 iDay1 天到iMonth 月末的天数for(i = iMonth1 + 1; i iMonth2; i+)/计算到 iMonth2-1 月的天数iDays += MONTH_TO_DAYi;iDays += iDay2;/加上 i

6、Day2else /如果不在同一年if(IfLeapYear(iYear1) ;/闰年平年设置 2 月天数/* 计算 iMonth1 月 iDay1 天到 iYear1 年 12 月 31 日的天数 */iDays += MONTH_TO_DAYiMonth1 - iDay1; /计算 iMonth1 月 iDay1 天到 iMonth月末的天数for(i = iMonth1 + 1; i = 12; i+)/计算到 12 月 31 日的天数iDays += MONTH_TO_DAYi;for(i = iYear1 + 1; i iYear2; i+)if(IfLeapYear(i)iDays

7、 += 366;elseiDays += 365;if(IfLeapYear(iYear2) ;for(i = 1; i iMonth2; i+)/计算到 iMonth2-1 月的天数iDays += MONTH_TO_DAYi;iDays += iDay2;/加上 iDay2return iDays;main()iYear1 = 2008, iMonth1 = 5, iDay1 = 12;iYear2 = 2008, iMonth2 = 5, iDay2 = 12;iDays = 0;iTemp = 0;prf(please input thedate(eg:2008-5-12):);sca

8、nf(%d-%d-%d, &iYear1, &iMonth1, &iDay1); if(!IfRight(iYear1, iMonth1, iDay1)prf(thereturn -1;date is wrong!n);prf(please input the second date(eg:2008-5-12):); scanf(%d-%d-%d, &iYear2, &iMonth2, &iDay2); if(!IfRight(iYear2, iMonth2, iDay2)prf(the second date is wrong!n); return -1;/* 确保 iYear2 比 iYear1 大if(iYear2 iYear1)/* 交换年份 */ iTemp = iYear2; iYear2 = iYear1; iYear1 = iTemp;/* 交换月份 */iTemp = iMonth2; iMonth2 = iMonth1; iMonth1 = iTemp;/* 交换天数 */iTemp = iDay2; iDay2 = iDay1; iDay1 = iTemp;*/* 计算两个日期之间相差的天数 */iDays = GetDay(iYear1, iM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论