(4)b>a&&c>b(5)a&&dc (6)!a&&b>c (7)(b>a)llc<b (8)all d-c (9)la‖cd (10)(al|b)&&c<b(l11)(a&&d)&&c(12)la&c>d 解: (1)0 (2)0 (3)0 (4)0 (5)0 (6)0 (7)0 (9)1 (11)0 (12) 3.8参考教材标准输入输出格式的规定,测试几组数据,看看执行情况如何。 (略 39写出下面程序的输出结果并上机验证 (1)#include<stdio. h> for(i=0,x>5;y=++1) (2)#include<stdio. h> inta=-13,b=-4, printf("%d printf("%d ",a%-b) 解:(1)8107162 (2)-111-1 3.10编写程序,从键盘上输入两个电阻的值,求它们并联和串联的电阻值,输出结果 保留两位小数。 解:本题的输入输出要求很明确,并联和串联的电阻值计算公式如下: R1+R2 并联电阻RP= 串联电阻RS=R+R2 R1*R2 用顺序结构即可完成题目要求的任务,程序如下: #includestdio h I float rl, r2, rp, rs printf("Input Rl and R2: " scanf (%f %f", &rl, &r2)
(1)a>=b (2)c-b==a (3)c!=d-b (4)b>a && c>b (5)a && d-c (6)!a && b>c (7)(b>a) || c<b (8)a || d-c (9)!a || c>d (10)(a||b) && c<b (11)(a && d) && c (12)!a && c>d 解: (1)0 (2)0 (3)0 (4)0 (5)0 (6)0 (7)0 (8)1 (9)1 (10)0 (11)0 (12)1 3.8 参考教材标准输入输出格式的规定,测试几组数据,看看执行情况如何。 (略) 3.9 写出下面程序的输出结果并上机验证。 (1) #include<stdio.h> main() { int x=8, y=10,i; for (i=0;x>5; y=++i) printf(" %d %d ",x--,y); } (2) #include<stdio.h> main() { int a=-13, b=-4; printf("%d ",a%b); printf("%d " ,-a % -b ); printf("%d ",-a%b ); printf("%d ",a%-b ); } 解: (1)8 10 7 1 6 2 (2)-1 1 1 -1 3.10 编写程序,从键盘上输入两个电阻的值,求它们并联和串联的电阻值,输出结果 保留两位小数。 解:本题的输入输出要求很明确,并联和串联的电阻值计算公式如下: 并联电阻 RP= 1* 2 1 2 R R R + R 串联电阻 RS=R1+R2 用顺序结构即可完成题目要求的任务,程序如下: #include<stdio.h> main() { float r1,r2,rp,rs; printf("Input R1 and R2:"); scanf("%f %f",&r1,&r2);
rs=(r1+r2) rp= rs/(rl=r2) printf("RP=. 2f RS=%. 2f " rp, rs) 3.1编写摄氏温度、华氏温度转换程序。要求:从键盘输入一个摄氏温度,屏幕就显 示对应的华氏温度,输出取两位小数。转换公式:F=(C+32)×9/5 解:用顺序结构即可完成题目要求的任务,程序如下: #include<stdio. h float c, f: printf("Input C: canf (%f", &c) f=(c+32.0)*9.0/5.0 printf("F=%. 2f \n"f) 3.12编写程序,从键盘输入梯形的上下底边长度和高,计算梯形的面积。 解:用顺序结构即可完成题目要求的任务,梯形的面积=(a+b)*h,程序如下: #include<stdio. h main I float a, b, h printf( Input a, b, h scanf(%ff%", &a, &b, &h) s=(a+b)*h/2.0 printf( s=%. 2f \n", s) 3.13编写程序,从键盘上输入一行字符,并依次显示在屏幕上 解:用回车控制输入结束,用循环结构显示输入缓冲区的字符,程序如下: #includestdio h i char ch: while((ch=getchar ()!=\n') printf(%c", ch
rs= (r1+r2); rp= rs/(r1*r2); printf("RP=%.2f RS=%.2f ",rp,rs); } 3.11 编写摄氏温度、华氏温度转换程序。要求:从键盘输入一个摄氏温度,屏幕就显 示对应的华氏温度,输出取两位小数。转换公式:F=(C+32)×9/5 解:用顺序结构即可完成题目要求的任务,程序如下: #include<stdio.h> main() { float c,f; printf("Input C:"); scanf("%f",&c); f= (c+32.0)*9.0/5.0; printf("F=%.2f \n ",f); } 3.12 编写程序,从键盘输入梯形的上下底边长度和高,计算梯形的面积。 解:用顺序结构即可完成题目要求的任务,梯形的面积= 2 1 (a+b)*h,程序如下: #include<stdio.h> main() { float a,b,h,s; printf("Input a,b,h:"); scanf("%f%f%f",&a,&b,&h); s= (a+b)*h/2.0; printf("s=%.2f \n",s); } 3.13 编写程序,从键盘上输入一行字符,并依次显示在屏幕上。 解:用回车控制输入结束,用循环结构显示输入缓冲区的字符,程序如下: #include<stdio.h> main() { char ch; while ((ch=getchar())!='\n') printf("%c",ch); }
3.14编写程序,从键盘输入一个字符,求出与该字符前后相邻的两个字符,按从小到 大的顺序输出这三个字符的 ASCII码 解: ASCIi码的大小关系与字符的大小关系一致,且相邻字符的ASCI码编码连续。用顺 序结构即可实现,程序如下 #includestdio. h> maino char ch. h=getchar printf(%c ASCII code is %d\n, ch-1, ch-1) printf("%c ASCII code is %d\n", ch, ch) printf( %c ASCII code is %d\n", ch+, ch+1) 3.15编写程序,从键盘输入某学生的四科成绩,求出总分和平均分,找出最高分和最 低分 解:寻找最高分和最低分的基本操作是比较当前分数和当前最高分及最低分的大小,需要 选择结构来实现,程序如下 #include<stdio. h> fl 1. a2. a3. a4, aver, sum fl min, max printf(Enter 4 scores scanf("%f%f%f%f",&a1,&a2,&a3,&a4); min=al: max=al admin min=a2 else if (a2>max) if (a3<min) else if (a3>max) max=a3 if (a4<min)
3.14 编写程序,从键盘输入一个字符,求出与该字符前后相邻的两个字符,按从小到 大的顺序输出这三个字符的 ASCII 码。 解:ASCII 码的大小关系与字符的大小关系一致,且相邻字符的 ASCII 码编码连续。用顺 序结构即可实现,程序如下: #include<stdio.h> main() { char ch; ch=getchar(); printf("%c ASCII code is %d\n",ch-1,ch-1); printf("%c ASCII code is %d\n",ch,ch); printf("%c ASCII code is %d\n",ch+1,ch+1); } 3.15 编写程序,从键盘输入某学生的四科成绩,求出总分和平均分,找出最高分和最 低分。 解:寻找最高分和最低分的基本操作是比较当前分数和当前最高分及最低分的大小,需要 选择结构来实现,程序如下: #include<stdio.h> main() { float a1,a2,a3,a4,aver,sum; float min,max; printf("Enter 4 scores :"); scanf("%f%f%f%f",&a1,&a2,&a3,&a4); min=a1;max=a1; sum=a1+a2+a3+a4; aver=sum/4; if (a2<min) min=a2; else if (a2>max) max=a2; if (a3<min) min=a3; else if (a3>max) max=a3; if (a4<min)
min-a. max=a4 rinf(aver=%. 2f sum=%. 2f\n", aver, sum) printf("min=%.2f max=%. 2f\n", min, max) 3.16编写程序,输入年份和月份,求该月的天数 解:需要判断输入的年份是否闰年,输入月份与该月天数的关系最好使用 switch结构,if 结构亦可完成。参考程序如下: #include<stdio. h i int year, month, day printf("Enter year& month: " canf( %d%d", &year, &month) if((year%4=0)&&(year%100!=0)|1(year%400=0) (if (month else 28 switch (month) case 12: day=31 case case 11: day=30
min=a4; else if (a4>max) max=a4; printf("aver=%.2f sum=%.2f\n",aver,sum); printf("min=%.2f max=%.2f\n",min,max); } 3.16 编写程序,输入年份和月份,求该月的天数。 解:需要判断输入的年份是否闰年,输入月份与该月天数的关系最好使用 switch 结构,if 结构亦可完成。参考程序如下: #include<stdio.h> main() { int year,month,day; printf("Enter year & month:"); scanf("%d%d",&year,&month); if ((year%4==0)&&(year%100!=0)||(year%400==0)) { if (month==2) day = 29; else day = 28; } else { switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: day=31; break; case 2: day=28; break; case 4: case 6: case 9: case 11: day=30;
printf("year=%d month=d day=%d \n", year, month, day) 3.17考察目前银行对整存整取存款不同期限的储蓄利率,计算存入本金和一定期限的 存款到期时的利息及利息与本金的和 当前整存整取年息利率参考:(%) 半年:2 年:225 二年:243 三年:2.70 五年:288 解:本题需要根据不同的存款期限决定计算利息使用的利率,需要选择结构,参考程序如 #include <stdio. h i double benjin, rate, rest double total int term printf( Enter benjin: printf(" \eNter term n0—half An 1--1 year "n2—2 An 3-3 years n5-5 scanf(%d",&term) switch (term) case0:rate=0.5*2.16*0.01 case1:rate=2.25*0.01; case2:rate=2.0*2.43*0.01; break case3:rate=3.0*2.7*0.01;
break; } } printf("year=%d month=%d day=%d\n",year,month,day); } 3.17 考察目前银行对整存整取存款不同期限的储蓄利率,计算存入本金和一定期限的 存款到期时的利息及利息与本金的和。 当前整存整取年息利率参考:(%) 半年: 2.16 一年: 2.25 二年: 2.43 三年: 2.70 五年: 2.88 解:本题需要根据不同的存款期限决定计算利息使用的利率,需要选择结构,参考程序如 下: #include <stdio.h> main() { double benjin,rate,rest; double total; int term; printf("Enter benjin: "); scanf("%lf",&benjin); printf("\nEnter term:" "\n 0 -- half year" "\n 1 -- 1 year" "\n 2 -- 2 years" "\n 3 -- 3 years" "\n 5 -- 5 years\n"); scanf("%d",&term); switch (term) { case 0: rate=0.5*2.16*0.01; break; case 1: rate=2.25*0.01; break; case 2: rate=2.0*2.43*0.01; break; case 3: rate=3.0*2.7*0.01; break;