还剩6页未读,继续阅读
文本内容:
第三章习题C if ij i=0,else j=0;D if i!=j i=j;、
三、编程题
1.从键盘输入一个正整数,判断它是否为3和5的倍数,如果是,则输出yes,否则输出noo#include stdio.hvoid main{int a;printf〃输入一个正整数\n;scanf〃%d〃,a;ifa%3==0a%5==0printf〃yes\n〃;elseprintf〃no\n〃;}
2.编写程序,输入三角形的三条边长,求其面积注意三角形的任意两边之长必须大于第三条,对于不合理的边长输入,要求给出错误提示ftinclude stdio.httinclude math.hvoid main{float a,b,c;double p,s;printf〃请输入三角形的三条边长\n〃;scanf z/%f%f%f/z,a,b,c;if a+bca+cbb+cap=l.0/2*a+b+c;s=sqrt p*p*a*p-b*p-c;printf〃这个三角形的面积是%f\nz/,s;else
3.根据以下分段函数编写程序,输入一个x值,输出相应的y值x-l-5x0X%=0y=]10%8x+\{otherwise10ttinclude stdio.hvoid mainfloat x;printf请输入x=?\n;scanf〃%f〃,x;if x==0printf zzy=%f\nzz,x;elseifx0printf(〃这三边不能构成三角形\n〃);if x8printf〃y二%f\n〃,x+1elseprintf〃y=10\n〃;else{if x-5printf〃y=%f\n〃,x-l;elseprintf〃y=10\n〃;
4.从键盘输入一个字符,如果是小写字母,则转换成大写字母输出;如果是大写字母,则转换成小写字母输出;如果是其它字符,则原样输出ftinclude stdio.hvoid main{char x;printf〃请输入一个字符\n;scanf〃%c〃,x;ifa〈二xx〈二zprintf〃%c\n〃,x-32;else{ifA〈=xx〈二Zprintf〃%c\n〃,x+32;elseprintf〃%c〃,x;}}
5.从键盘输入三个整数到变量a、b和c中,将这三个数由小到大进行排序,使a中存放最小数,c中存放最大数,然后输出^include stdio.hvoid mainint a,b,c,t;printf〃请输入a=?,b=?,c=\n〃;scanf z/%d%d%d/z,a,b,c;if a=bt=a,a=b,b=t;/*判断a,b的大小,并把较小的哪个值付给a*/if a=ct=a,a=c,c=t;/*判断a,c的大小,并把较小的哪个值付给a*/if b=ct=c,c=b,b=t;/*判断b,c的大小,并把较大的哪个值付给c*/printf〃排序后:\n;printf〃a=%d b=%d c二%d\n〃,a,b,c;
6.输入一个三位整数,判断它是否为水仙花数当输入数据不正确时,要求给出错误提示说明水仙花数是一个三位数,其各位数的立方之和等于该数本身,如153=l3+53+33o^include stdio.hvoid mainint x,a,b,c;printf请输入一个三位整数:\n〃;scanf〃%d〃,x;if100xx999a=x/100;b=x-a*100/10;c=x-a*100-b*10;if a*a*a+b*b*b+c*c*c=xprintf〃是水仙数\n;elseprintf〃不是水仙数\n〃;elseprintf〃输入错误!\n;}
7.从键盘输入三个整数a b、c的值,求一元二次方程ax2+bx+c=0a7^0的根,计算结果保留两位小数#include stdio.httinclude math.hvoid mainint a,b,c,d;double xl,x2,p,q;printf〃请输入三个整数a=b=c=\n/z;scanf〃%d%d%d〃,a,b,c;p二b*b-4*a*c;if p=0q=sqrtb*b-4*a*c;xl=l.0/2*-b+q/a;x2=l.0/2*-b-q/a;printf〃xl=%.2f\n〃,xl;printf〃x2=%.2f\n〃,x2;else{d=b*b-4*a*c;p=-b/2*a;q=sqrt-d/2*a;printf〃xl=%.2f+%.2fi\n〃,p,q;printf〃xl=%・2f-%.2fi\n〃,p,q;}
8.已知银行整存整取存款不同期限的月息利率如下
0.215%期限一年、
0.230%期限二年、
0.245%期限三年、
0.275%期限五年、
0.320%期限八年,编程从键盘输入存款的本金和期限,计算到期时从银行得到的金额,保留2位小数要求分别用多分支if语句和switch语句编写,并且当输入的存款期限不是上述年限时能给出错误提示信息方法一#include stdio.hvoid main{float a,b;printf〃请输入存款的金额和年限年\n〃;scanf〃,a,b;if b==lprintf〃到期本息和为%.2f\n〃,a*1+
0.00215*12;elseif b==2printf〃到期本息和为%.2f\n〃,a*1+
0.00230*24;elseif b==3printf〃到期本息和为%.2f\n〃,a*1+
0.00245*36;elseif b==5printf〃到期本息和为:%.2f\n〃,a*1+
0.00275*60;elseif b=8printf〃到期本息和为:%.2f\nzz,a*1+
0.00320*96;elseprintf〃期限出错!\n〃;}方法二ftinclude stdio.hvoid main{float x;int y;double z;printf〃请输入金额和存款期限\n〃;scanf〃%f%d〃,x,y;switchycase1:z=x*l+
0.00215jprintf〃本金利息合计:%.2f\n〃,z;break;case2:z=x*l+
0.00230jprintf“本金利息合计:%.2f\n〃,z;break;case3:z=x*l+
0.00245;printf“本金利息合计:%.2f\n〃,z;break;case5:z=x*l+
0.00275;printf〃本金利息合计%.2f\nz,,z;break;case8:z=x*1+
0.00320;printf〃本金利息合计:%.2f\n〃,z;break;default:printf〃期限出错!\n〃;。