资源描述:
《最新C语言程序设计(第3版)何钦铭 颜 晖 第3章 分支结构.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、精品资料C语言程序设计(第3版)何钦铭颜晖第3章分支结构........................................精品资料第3章分支结构【练习3-1】例3-4中使用else-if语句求解多分段函数,为了检查else-if语句的三个分支是否正确,已经设计了三组测试用例,请问还需要增加测试用例吗?为什么?如果要增加,请给出具体的测试用例并运行程序。解答:最好再增加两组测试用例,因为尚未对分段函数参数的边界值进行测试。可再给出x=0和x=15时的两种情况。【练习3-2】计算符号函数的值:输入一
2、个整数x,计算并输出下列分段函数sign(x)的值。-1x<0y=sign(x)=0x=01x>0解答:#includeintmain(void){intx,y;printf("Enterx:");scanf("%d",&x);if(x>0)y=1;elseif(x==0)y=0;........................................精品资料elsey=-1;printf("sign(%d)=%d",x,y);return0;}【练习3-3】统计学生平均成绩与及
3、格人数:输入一个正整数n,再输入n个学生的成绩,计算平均成绩,并统计所有及格学生的人数。试编写相应程序。解答:#includeintmain(void){intcount,i,n;doublegrade,total;printf("Entern:");scanf("%d",&n);total=0;count=0;for(i=1;i<=n;i++){printf("Entergrade#%d:",i);scanf("%lf",&grade);total=total+grade;if(grade
4、>=60)count++;}printf("Gradeaverage=%.2f",total/n);printf("Numberofpass=%d",count);return0;}【练习3-4】统计字符:输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。试编写相应程序。解答:#includeintmain(void){inti;intblank,digit,letter,other;charc;blank=digit=letter=other=0;for(i=
5、1;i<=15;i++){c=getchar();........................................精品资料if(c>='a'&&c<='z'
6、
7、c>='A'&&c<='Z')letter++;elseif(c>='0'&&c<='9')digit++;elseif(c==''
8、
9、c=='')blank++;elseother++;}printf("letter=%d,blank=%d,digit=%d,other=%d",letter,blank,digit,other
10、);return0;}【练习3-5】输出闰年:输出21世纪中截至某个年份之前的所有闰年年份。判断闰年的条件是:能被4整除但不能被100整除,或者能被400整除。试编写相应程序。解答:#includeintmain(void){intyear;printf("Enteryear:");scanf("%d",&year);for(;year>=2000;year--){if((year%4==0&&year%100!=0)
11、
12、year%400==0)printf("Itisaleapyear
13、");elseprintf("Itisnotaleapyear");}return0;}【练习3-6】在例3-8程序中,如果把switch语句中所有的break都去掉,运行结果会改变吗?如果有变化,输出什么?为什么?解答:如果去掉所有的break语句,运行结果会改变,输出price=0.0,因为不管choice值与其中某个常量表达式相等,当去掉break语句时,其后的所有语句段都将运行,故每次都将执行到price=0.0语句为止。【练习3-7】成绩转换:输入一个百分制成绩,将其转换为五分制成绩。百分制成绩
14、到五分制成绩的转换规则:大于或等于90分为A,小于90分且大于或等于80分为B........................................精品资料,小于80分且大于或等于70分为C,小于70分且大于或等于60分为D,小于60分为E。试编写相应程序。解答:#includeintmain(void){doublegrade;printf("Inputgrade:")