第3章分支结构程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章习题
C) if(i 、三、编程题 1. 从键盘输入一个正整数,判断它是否为3和5的倍数,如果是,则输出yes,否则输出no。 #include void main() { int a; printf("输入一个正整数:\n"); scanf("%d",&a); if(a%3==0&&a%5==0) printf("yes\n"); else printf("no\n"); } 2. 编写程序,输入三角形的三条边长,求其面积。注意:三角形的任意两边之长必须大于第三条,对于不合理的边长输入,要求给出错误提示。 #include #include void main() { float a,b,c; double p,s; printf("请输入三角形的三条边长:\n"); scanf("%f%f%f",&a,&b,&c); if(a+b>c&&a+c>b&&b+c>a) { p=(1.0/2)*(a+b+c); s=sqrt(p*(p-a)*(p-b)*(p-c)); printf("这个三角形的面积是:%f\n",s); } else printf("这三边不能构成三角形\n"); } 3. 根据以下分段函数编写程序,输入一个x 值,输出相应的y 值。 ⎪⎪⎩⎪⎪⎨⎧<<+=<<--= )(10)80(1 )0()05(1otherwise x x x x x x y #include void main() { float x; printf("请输入x=?:\n"); scanf("%f",&x); if(x==0) printf("y=%f\n",x); else { if(x>0) { if(x<8) printf("y=%f\n",x+1); else printf("y=10\n"); } else { if(x>-5) printf("y=%f\n",x-1); else printf("y=10\n"); } } } 4. 从键盘输入一个字符,如果是小写字母,则转换成大写字母输出;如果是大写字母,则转换成小写字母输出;如果是其它字符,则原样输出。 #include void main() { char x; printf("请输入一个字符:\n"); scanf("%c",&x); if('a'<=x&&x<='z') printf("%c\n",x-32); else { if('A'<=x&&x<='Z') printf("%c\n",x+32); else printf("%c",x); } } 5. 从键盘输入三个整数到变量a、b和c中,将这三个数由小到大进行排序,使a中存放最小数,c中存放最大数,然后输出。 #include void main() { int a,b,c,t; printf("请输入a=?,b=?,c=?\n"); scanf("%d%d%d",&a,&b,&c); if(a>=b) t=a,a=b,b=t;/*判断a,b的大小,并把较小的哪个值付给a*/ if(a>=c) t=a,a=c,c=t;/*判断a,c的大小,并把较小的哪个值付给a*/ if(b>=c) t=c,c=b,b=t;/*判断b,c的大小,并把较大的哪个值付给c*/ printf("排序后:\n"); printf("a=%d b=%d c=%d\n",a,b,c); } 6. 输入一个三位整数,判断它是否为水仙花数。当输入数据不正确时,要求给出错误提示。说明:水仙花数是一个三位数,其各位数的立方之和等于该数本身,如153=13+53+33。 #include void main() { int x,a,b,c; printf("请输入一个三位整数:\n"); scanf("%d",&x); if(100 { a=x/100; b=(x-a*100)/10; c=(x-a*100-b*10); if(a*a*a+b*b*b+c*c*c==x) printf("是水仙数\n"); else printf("不是水仙数\n"); } else printf("输入错误!\n"); } 7. 从键盘输入三个整数a、b、c的值,求一元二次方程ax2+bx+c=0(a≠0)的根,计算结果保留两位小数。 #include #include void main() { int a,b,c,d; double x1,x2,p,q; printf("请输入三个整数a=?b=?c=?\n"); scanf("%d%d%d",&a,&b,&c);