《浙大C语言答案(全).pdf》由会员分享,可在线阅读,更多相关《浙大C语言答案(全).pdf(129页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、浙大春季c语言程序编程目录第 2 周(M2)220011求华氏温度100叩 对应的摄氏温度。220012求华氏温度150F对应的摄氏温度。320013求摄氏温度26。(2 对应的华氏温度。320015当 n 为 152时,分别求出n 的个位数字(digiti)、卜位数字(digit2)和百位数字(digit3)的值。320026输入2 个 整 数 n u m l和 num 2,计算并输出它们的和、差、积、商与余数。4第 3 周(M3)520031 求 1+2+3+100(调试示例 error02_5)520032 求 m+(m+l)+(m+2)+.+100 520033 求 l/m+l/(m+
2、l)+l/(m+2)+l/n620034求 1+1/3+1/5+的前n 项 和 720035 求 1-1/4+1/7 1/10+.的前 n 项之和 720036输出华氏-摄氏温度转换表(改错题error02_6)820038求 x 的 n 次 暴 920041生 成 3 的乘方表1020044 求 100Ao.5+101Ao.5+.+1000Ao.5 1020053计算物体自由下落的距离1120056计算分段函数1120061阶 梯 电 价 1220062 求 m*m+l/m+(m+l)*(m+l)+l/(m+l)+(m+2)*(m+2)+l/(m+2)+.+n*n+l/n 1320063 求
3、 1-2/3+3/5-4/7+5/9-6/11+.1420064 求 2A1+2八 2+2八 3+.+2An 15第 4 周(M4)1510007显 示 图 案(复 习 printfD的 字 符 串 输 出)1520042生成阶乘表1620043 使用函数求 n!/(m!*(n-m)!)1620054求 平 均 值 1720057 求 1+1/2+1/3+l/n 1820065 求 0!+1!+2!+.+n!1840015求 最 小 值 1940018 求 a+aa+aaa+aa.a 20第 5 周(M5)2130001求一元二次方程的根2130002求分段函数的值2330003分类统计字符2
4、330004显示五级记分制成绩所对应的百分制成绩区间(使用switch)2430005显示水果的价格(使用switch)2530007求三角形的面积和周长2730008计算个人所得税2830051判断闰年2930052统计学生平均成绩与及格人数3030053分段计算水费(使用嵌套的itelse语句)31第 6 周(M6)3240011求最小公倍数和最大公约数(调试示例error04)3240012 求 1 -1/4+1/7-1/10+1/13-1/16.3340014求整数的位数3440023换 硬 币 3540024找出各位数字的立方和等于它本身的数3640025找 完 数(改错题error
5、04_2)3840027从高位开始逐位输出一个整数的各位数字(选作)3940052判断素数4040053逆序输出整数4140054输出斐波那契序列42第 7 周(M7)4250002使用函数判断数的符号4250003使用函数求奇数和4350005使用函数统计素数并求和4450006使用函数统计一个整数中数字的个数4550007使用函数找水仙花数4650009使用函数求余弦函数的近似值4850052使用函数找最大值4950062使用函数输出指定范围内的Fibonacci数 5050063使用函数找出指定范围内的完数51第 8 周(M8)5240013求奇数和5240062 求 x+x*x/2!+
6、x*x*x/3!+x*x*x*x/4!+.的值 5350004使用函数计算两点间的距离5450061 使用函数求 a+aa+aaa+aa.a 5560002整数的十进制、八进制和十六进制表现形式5660003分类统计字符5760006验证歌德巴赫猜想5860007使用函数输出整数的逆序数5960009统计单词6060062简单计算器61第 2 周(M2)20011求华氏温度100叩 对应的摄氏温度。计算公式如下,c=5*(f-32)/9,式中:c 表示摄氏温度,f 表示华氏温度。(源程序error02.cpp)输入输出示例:fahr=100,celsius=37#include int mai
7、n(void)int Celsius,fahr;fahr=100;celsius=5*(fahr-32)/9;printf(Mfahr=%d,Celsius=%dn,fahr,Celsius);return 0;20012求华氏温度150叶 对应的摄氏温度。计算公式:C=5*F/9-5*32/9,式中:C 表示摄氏温度,F 表示华氏温度。输入输出示例:fahr=150,celsius=66#include int main(void)(int Celsius,fahr;fohr=150;celsius=5*fahr/9-5*32/9;printf(Mfahr=%d,Celsius=%dnn,f
8、ahr,Celsius);return 0;20013求摄氏温度26 对应的华氏温度。计算公式如下,49*c/5+32,式中:c 表示摄氏温度,f 表示华氏温度。输入输出示例:celsius=26,fahr=78#include int main(void)(int Celsius,fahr;celsius=26;fahr=9*ce!sius/5+32;printf(rcelsius=%d,fahr=%dnn,Celsius,fahr);return 0;20015当 n 为 152时,分别求出n 的个位数字(digiti)、十位数字(digi和百位数字(digit3)的值。输入输出示例:整
9、数 152的个位数字是2,十位数字是5,百位数字是1#include int main(void)int n,digitl,digit2,digit3;n=152;digit l=n;digit2=(n/10);digit3=n/100;printf(整数(1的个位数字是%d,1位数字是d,百位数字是dn”,n,digiti,digit2,digit3);return 0;20026输入2 个 整 数 n u m l和 num 2,计算并输出它们的和、差、积、商与余数。输出两个整数的余数可以用 printf(n%d%d=%dnM,numl,num2,numl%num2);输入输出示例:括号内是
10、说明输入5 3(numl=5,num2=3)输出5+3=85-3=25*3=155/3=15%3=2#include int main(void)(int numl,num2;scanf(n%d%dn,&numl,&num2);printf(M%d+%d=%dn,num 1 ,num2,num 1 +num2);printf(M%d-%d=%dnu,num 1 ,num2,num 1 -num2);printf(n%d*%d=%dnH,num 1 ,num2,num 1 *num2);printf(n%d/%d=%dnn,numl,num2,numl/num2);printf(M%d%d=%d
11、n,num 1 ,num2,num 1%num2);return 0;第 3 周(M3)20031 求 1+2+3+.+100(调试示例 erro32 5)计算表达式1+2+3+100的值。输出示例:sum=5050#include int main(void)int i,sum;sum=0;for(i=l;i=100;i+)sum=sum+i;printffsum=%dnn,sum);20032 求 m+(m+l)+(m+2)+100输入一个正整数repeat(0 repeat 10),做 repeat次下列运算:输入一个正整数m(0v=m=100),计算表达式m+(m+l)+(m+2)+.
12、+100的值。输入输出示例:括号内为说明输入3(repeat=3)0(计算 0+1+2+.+100)10(计算 10+11+12+.+100)50(计算 50+51+52+.+100)输出sum=5050sum=5005sum=3825#include int main(void)(int i,m,sum;int repeat,ri;scanff%d”,&repeat);fbr(ri=1;ri =repeat;ri+)scanfi(d”,&m);sum=0;fbr(i=m;i=100;i+)sum=sum+i;printf(nsum=%dnM,sum);)20033 求 l/m+l/(m+l)
13、+l/(m+2)+.+l/n输入一个正整数repeat(0 repeat 1 0),做 repeat次下列运算:输入2 个正 整 数 m 和 n(m =n),计算表 达 式 1/m+l/(m+l)+l/(m+2)+.+1/n的值,输出时保留3 位小数。输入输出示例:括号内为说明输入3(repeat=3)5 15(计算 55+1/6+1/7+.+1/15)10 20(计算 1/10+1/11+1/12+.+1/20)1 3(计算 1+1/2+1/3)输出sum=1.235sum=0.769sum=1.833#include int main(void)(int i,m,n;int repeat,
14、ri;double sum;scanf(n%dM,&repeat);fbr(ri=1;ri =repeat;ri+)scanff%d%d”,&m,&n);sum=0;for(i=m;i=n;i+)sum=sum+1.0/i;printf(Hsum=sum);)20034 求 1 +1/3+1/5+.的前 n 项和输入一个正整数repeat(O repeatvlO),做 repeat次卜列运算:输入一个正整数n,计算表达式1 +1/3+1/5+的 前 n 项之和,输出时保留6 位小数。输入输出示例:括号内为说明输入2(repeat=2)5(计算 1+1/3+1/5+1/7+1/9)23(计算 1
15、 +1/3+1/5+.+1/45)输出sum=1.787302sum=2.549541#include int main(void)int i,n;int denominator;int repeat,ri;double sum;scanff%d”,&repeat);fbr(ri=1;ri =repeat;ri+)scanff%d”,&n);sum=0;denominator 1;fbr(i=l;i=n;i-H-)sum=sum+l.0/denominator;denominator=denominator+2;)printffsum=%.6fnf,sum);20035 求 1-1/4+1/7
16、-1/10+.的前 n 项之和输入一个正整数repeat(0 repeat 10),做 repeat次下列运算:读入一个正整数n,计算1 1/4+1/71/10+的 前 n 项之和,输出时保留3 位小数。输入输出示例:括号内是说明输入2(repeat=2)310输出sum=0.893sum=0.819#include int main(void)int flag,i,n,t;int repeat,ri;double item,sum;scanf(d”,&repeat);fbr(ri=1;ri =repeat;ri+)scanfl(n%dn,&n);sum=0;flag=l;t=l;for(i=
17、l;i=n;i-H-)item=flag*1.0/t;sum=sum+item;flag=flag;t=t+3;printf(nsum=%.3fn”,sum);20036输出华氏-摄氏温度转换表(改错题error02_6)输入一个正整数repeat(0 repeat 10),做 repeat次卜列运算:读 入 2 个 整 数 low er和 upper,输出一张华氏一摄氏温度转换表,华氏温度的取值范围是lower,upper,每次增加 2F。计算公式:c=5*(f3 2)/9,其中:c 表示摄氏温度,f 表示华氏温度。输出请使用语句 printf(%3.0f%6.1fnn,fahr,Celsi
18、us);输入输出示例:括号内是说明输入2(repeat=2)32 35(lower=32,upper=35)40 30(lower=40,upper=30)输出fahr Celsius32 0.034 1.1fahr Celsius#include int main(void)int lower,upper;int repeat,ri;double Celsius,fahr;scanf(,%d,*,&repeat);fbr(ri=1;ri =repeat;ri+)scanff%d%cT,&lower,&upper);printf(Mfahr celsiusn);fbr(fahr=lower;f
19、ahr=upper;fahr-H-,fahr+4-)celsius=5*(fahr-32)/9;printf(M%3.0f%6.1 fnH,fahr,Celsius);)20038求 x 的 n 次暴输入一个正整数repeat(0 repeat 10),做 repeat次下列运算:读 入 1 个实数x 和正整 数 n(nv=50),计算并输出x 的 n 次基(保留2 位小数),不允许调用 pow函数求幕。输入输出示例:括号内是说明输入2(repeat=2)1.5 2(x=1.5,n=2)2 7(x=2,n=7)输出2.25128.00#include int main(void)(int i,
20、n;int repeat,ri;double mypow,x;scanf(d”,&repeat);fbr(ri=1;ri =repeat;ri+)scanf(n%lf%d,&x,&n);mypow=l;fbr(i=l;i=n;i-H-)mypow=mypow*x;printf(M%.2fnH,mypow);20041生 成 3 的乘方表输入一个正整数n,生成一张3 的乘方表,输出3人 03人 n 的值,可调用嘉函数计算3 的乘方。输出使用语句 printf(pow(3,%d)=%.0fn,i,mypow);输入输出示例:括号内是说明输入3(n=3)输出pow(3,0)=1pow(3,l)=3p
21、ow(3,2)=9pow(3,3)=27#include#include int main(void)int i,n;double mypow;scanff%d”,&n);fbr(i=O;i=n;i-H-)mypow=pow(3,i);printf(Hpow(3,%d)=i,mypow);)20044 求 100八 0.5+101八 0.5+.+1000A0.5计 算 100Ao.5+101八 0.5+1000八 0.5的值(保留2 位小数),可调用sqrt函数计算平方根。输入输出示例:括号内是说明输出sum=20435.99#include#include int main(void)int
22、 i;double sum;sum=0;fbr(i=100;i=1000;i+)sum=sum+sqrt(i);printf(nsum=%.2fnn,siim);20053计算物体自由下落的距离一个物体从100m的高空自由落下,编写程序,求它在前3 s 内下落的垂直距离(结果保留2 位小数)。设重力加速度为10米/秒八2。#include int main(void)(double height;height=0.5*10*3*3;printf(Mheight=%.2fn”,height);20056计算分段函数输入一个正整数repeat(OvrepeatvlO),做 repeat次下列运算:
23、编写程序,输入x,计算并输出下列分段函数f(x)的值(保留2 位小数),请调用sqrt()函数求平方根,调用pow()函数求事。当 x=0 时,f(x)=xA0.5,当 x 小于 0 时,f(x)=xA5+2x+l/x输入输出示例:括号内是说明输入3(repeat=3)10(x=10)-0.5(x=-0.5)0(x=0)输出f(10.00)=3.16f(-0.50)=-3.03f(0.00)=0.00#include#include int main(void)int repeat,ri;double x,y;scanff%d”,&repeat);fbr(ri=1;ri=0)y=sqrt(x)
24、;else y=pow(x,5)+2*x+1.0/x;printf(Mf(%.2f)=%.2fn,x,y);20061阶梯电价输入一个正整数repeat(0 repeat 10),做 repeat次下列运算:为了提倡居民节约用电,某省电力公司执行“阶梯电价“,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时以内的,电价为0.53元/千瓦时;超过50千瓦时的用电量,电价上调0.05元/千瓦时。输入用户的月用电量e(千瓦时),计算并输出该用户应支付的电费(元),结果保留2 位小数。输入输出示例:括号内是说明输入2(repeat=2)10(e=10)100(e=100)输出cost=5
25、.30cost=55.50#include int main(void)(int repeat,ri;double cost,e;scanf(n%dn,&repeat);fbr(ri=1;ri =repeat;ri+)scanf(”l俨,&e);if(e=50)cost=e*0.53;elsecost=0.53*50+(e-50)*0.58;printf(ncost=%.2fnn,cost);20062 求 m*m+2m+(m+l)*(m+l)+1 /(m+1)+(m+2)*(m+2)+l/(m+2)+.+n*n+1/n输入一个正整数repeat(0 repeat 10),做 repeat次下
26、列运算:输入两个正整数 m 和 n(m=n),求 sum=m*m+1/m+(m+l)*(m+l)+l/(m+l)+(m+2)*(m+2)+l/(m+2)+n*n+l/n,结果保留 6 位小数。输入输出示例:括号内为说明输入3(repeat=3)1 2(m=l,n=2)2 5(m=2,n=5)5 10(m=5,n=10)输出sum=6.500000sum=55.283333sum=355.845635#include int main(void)|int i,m,n;int repeat,ri;double sum;scanf”d”,&repeat);fbr(ri=1;ri =repeat;ri
27、+)scanff%d%d”,&m,&n);sum=0;fbr(i=m;i=n;i+)sum=sum+i*i+l.0/i;printf(Msum=%.6fn”,sum);)20063 求 12/3+3/54/7+5/96/ll+.输入一个正整数repeat(0 repeat 10),做 repeat次下列运算:输入一个正整数n,计 算 1-2/3+3/54/7+5/96/11+的前n 项之和,输出时保留3 位小数。输入输出示例:括号内是说明输入3(repeat=3)1 (n=l)3(n=3)5(n=5)输出sum=1.000sum=0.933sum=0.917#include int main(
28、void)int flag,i,n;float denominator;int repeat,ri;double item,sum;scanff%d”,&rcpeat);fbr(ri=1;ri =repeat;ri+)scanf(d”,&n);sum=0;flag=l;denominator=1.0;fbr(i=l;i=n;i+)item=flag*i*1.0/denominator;sum=sum+item;flag=flag;denominator=denominator+2;)printf(nsum=%.3fn,f,sum);20064 求 2八 1+2八2+2八3+.+2An#incl
29、ude#include int main(void)|int i,n;int repeat,ri;double sum;scanf(,%dM,&repeat);fbr(ri=1;ri =repeat;ri+)scanf(n%d,*,&n);sum=0;fbr(i=l;i=n;i-H-)sum=sum+pow(2,i);printf(Hsum=%.0fnn,sum);第 4 周(M4)10007显 示 图 案(复 习 printR)的字符串输出)编写程序,在屏幕上显示如下图案。*#include int main(void)(printf(n*n*n”*nH);20042生成阶乘表输入一个正整数
30、n,生成一张阶乘表,输 出 1!n!的值,要求定义和调用函数fact(n)计 算 n!,函数类型为doubleo输出使用语句 printfTn%d!=%.0fn,i,myfact);输入输出示例:括号内是说明输入3(n=3)输出1!=12!=23!=6#include int main(void)int i,n;double myfact;double fact(int n);scanf(n%dn,&n);fbr(i=l;i=n;i-H-)myfact=fact(i);printf(n%d!=%.Ofnu,i,myfact);)double fact(int n)double result;i
31、ntj;result=l;for(j=l;j=n;j+)result=result*j;return result;)20043 使用函数求 n!/(m!*(n-m)!)输入一个正整数repeat(0 repcat 10),做 repeat次下列运算:输入2 个正整数m 和 n(m =n),计 算 n!/(m!*(n-m)!)。要求定义并调用函数fact(n)计算n 的阶乘,其 中 n 的类型是in t,函数类型是double。例:括号内是说明输入:2(repeat=2)2 7(m=2,n=7)5 12(m=5,n=12)输出:result=21result=792#include stdio
32、.hint main(void)int m,n;int repeat,ri;double s;double fact(int n);scanff%d”,&repeat);fbr(ri=1;ri =repeat;ri+)scanfi(d%d,&m,&n);fact(n);fact(m);fact(n-m);s=l;s=s*fact(n)/(fact(m)*fact(n-m);printf(nresult=%.0fnn,s);)double fact(int n)double result;int i;result=l;fbr(i=l;i=n;i-H-)result=result*i;return
33、 result;)20054求平均值编写程序,输 入 3 个整数,计算并输出它们的平均值(结果保留2 位小数)。输入输出示例:输入123输出average=2.00#include int main(void)int a,b,c;double average;scanf,%d%d%d,&a,&b,&c);average=(a+b+c)/3.0;printfi(average=%.2fnn,average);20057 求 1+1 求+1/3+l/n输入一个正整数repeat(0 repeat 10),做 repeat次下列运算:编写程序,输入一个正整数n,求 1 +1/2+1/3+的前n 项之
34、和,输出时保留6 位小数。输入输出示例:括号内为说明输入2(repeat=2)6(计算 1+1/2+1/3+1/4+1/5+1/6)2(计算 1+1/2)输出sum=2.450000sum=1.500000#include int main(void)|int i,n;int repeat,ri;double sum;scanff%d”,&repeat);fbr(ri=1;ri =repeat;ri+)scanff%d”,&n);sum=0;fdr(i=l;i=n;i-H-)sum=sum+1.0/i;printf(nsum=%.6fnH,sum);20065 求 0!+l!+2!+.+n!输
35、入一个iE整数repeat(0 repeat 10),做 repeat次下列运算:编写一个程序,输入一个正整数n,计 算 e=0!+l!+2!+n!,要求定义和调用函数fhct(n)计算n!,函数类型是doubleo例:括号内是说明输入3(repeat=3)124输出sum=2sum=4sum=34#include int main(void)int i,n;int repeat,ri;double sum;double fact(int n);scanf(n%dH,&repeat);fbr(ri=1;ri =repeat;ri-H-)scanf(,%dM,&n);sum=l;for(i=l;
36、i=n;i-H-)fact(i);sum=sum+fact(i);printfCsum=%.Ofnn,sum);)double fact(int n)double result;intj;result=l;fbr(j=l;j=n;j+)result=result*j;return result;40015求最小值输入一个正整数repeat(OvrepeatvlO),做 repeat次下列运算:输入一个正整数n,再输入n 个整数,输出最小值。输入输出示例:括号内是说明输入3(repeat=3)4-2-123 100 04-9-11-83 5 3 1输出min=-123min=-9min=1#in
37、clude int main(void)(int i,min,n,x;int repeat,ri;scanf(n%dH,&repeat);fbr(ri=1;ri =repeat;ri-H-)scanf(H%dn,&n);scanf(”d”,&x);min=x;for(i=l;ix)min=x;)printffmin=%dnH,min);)40018 求 a+aa+aaa+aa a提示:第 i 项通项:tn=a+a*10+a*100.+a*10A(n-1)=t(n-l)+a*10A(n-l)#include#include int main(void)int a,i,n,sn,tn;int ri
38、,repeat;scanfC%d”,&repeat);fbr(ri=1;ri =repeat;ri+)scanf(H%ld%dH,&a,&n);sn=0;tn=O;for(i=0;i n;i+)tn=tn+a*pow(10,i);sn=sn+tn;printf(Msum=%dnM,sn);第 5 周(M5)30001求一元二次方程的根输入一个正整数repeat(0 repeat 10),做 repeat次下列运算:输入参数a,b,c,求一元二次方程a*x*x+b*x+c=0的根,结果保留2 位小数。输出使用以下语句:printf(参数都为零,方程无意义八n);printf(Ma 和 b 为 0
39、,c 不为0,方程不成立n);printf(Mx=%0.2fn,-c/b);printf(Mxl=%0.2fnH,(-b+sqrt(d)/(2*a);printf(Mx2=%0.2fnM,(-b-sqrt(d)/(2*a);printf(Mxl=%0.2fl-%0.2finM,-b/(2*a),sqrt(-d)/(2*a);printf(Mx2=%0.2f-%0.2finM,-b/(2*a),sqrt(-d)/(2*a);输入输出示例:括号内为说明输入:5(repeat=5)000(a=0,b=0,c=0)0 0 1 (a=0,b=0,c=l)0 2 4(a=0,b=2,c=4)2.1 8.9
40、 3.5(a=2.1,b=8.9,c=3.5)1 2 3(a=l,b=2,c=3)输出:参数都为零,方程无意义!a 和 b 为 0,c 不为0,方程不成立x=-2.00 xl=-0.44x2=-3.80 xl=-1.00+1.41ix2=-1.00-1.41i#include#include int main(void)int repeat,ri;double a,b,c,d;scanf(n%dn,&repeat);fbr(ri=1;ri=0)printf(Mxl=%0.2fn”,(-b+sqrt(d)/(2*a);printf(nx2=%0.2fnM,(-b-sqrt(d)/(2*a);el
41、seprintf(nxl=%0.2f%0.2fin”,b/(2*a),sqrt(-d)/(2*a);printf(nx2=%0.2f-%0.2fin-b/(2*a),sqrt(-d)/(2*a);)30002求分段函数的值输入一个iE整 数 repeat(0 repeat 10),做 repeat次下列运算:输入一个 整 数 x,计算并输出下列分段函数sign(x)的值。-1 x 0输入输出示例:括号内是说明输入3(repeat=3)10(x=10)0(x=0)-98(x=-98)输出sign(10)=1 (x=10 时 y=1)sign(0)=0(x=0 时 y=0)sign(-98)=l(
42、x=-98 时 y=l)#include int main(void)int repeat,ri;血 x,y;scanf(H%dn,&repeat);fbr(ri=1;ri 0)y=l;else y=-l;printf(Msign(%d)=%dn”,x,y);30003分类统计字符输 入 10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。输入输出示例:括号内是说明输入Reold 123?输出letter=5,blank=1,digit=3,other=1#include int main(void)(char c;int blank,digit,i,letter,other;
43、blank=digit=letter=other=0;fbr(i=l;i=,a,&c=,A,&c=,0,&c=9,)digit+;elseother+;printffletter=%d,blank=%d,digit=%d,other=%dn,letter,blank,digit,other);30004显示五级记分制成绩所对应的百分制成绩区间(使用switch)输入一个正整数repeat(0 repeat 10),做 repeat次下列运算:输入五级制成绩(AE),输出相应的百分制成绩(0100)区间,要求使用switch语句。五级制成绩对应的百分制成绩区间为:A(90-100).B(80-8
44、9)、C(70-79),D(6069)和 E(0-59),如果输入不正确的成绩,显示Invalid input”。输出使用以下语句:printf(,90-100nH);printf(,80-89nM);printf(n70-79nn);printf(,60-69nM);printf(M0-59nM);printfifInvalid inputnM);输入输出示例:括号内是说明输入6ABCDEj(repeat=6,输入的五级成绩分别为A、B、C、D、E 和无效的字符j)输出90-10080-8970-7960-690-59Invalid input(输入数据不合法)#include int ma
45、in(void)char ch;int repeat,ri;scanfC%d”,&repeat);fbr(ri=1;ri =repeat;ri+)ch=getchar();switch(ch)caseA*:printf(H90-100nH);break;caseB1:printf(n80-89nn);break;caseC1:printf(M70-79nM);break;caseD1:printf(n60-69nH);break;caseE*:printf(H0-59nn);break;default:printf(nInvalid inputnn);break;return 0;30005显
46、示水果的价格(使用switch)查询水果的单价。有 4 种水果,苹果(apples)、梨(pears)、桔子(oranges)和葡萄(grapes),单价分别是3.00元/公斤,2.50元/公斤,4.10元/公斤和10.20元/公斤。在屏幕上显示以下菜单(编号和选项),用户可以连续查询水果的单价,当查询次数超过5 次时,自动退出查询;不到5 次时,用户可以选择退出。当用户输入编号14,显示相应水果的单价(保留1位小数);输入0,退出查询;输入其他编号,显示价格为0。输入输出示例:括号内是说明输入3(oranges 的编号)0(退出查询)输出1 apples2 pears3 oranges4 g
47、rapes0 Exitprice=4.11 叩pies2 pears3 oranges4 grapes0 Exit#include int main(void)(int choice,i;double price;fbr(i=l;i=5;i+)printf(Ml applesnn);printf(M2 pearsn);printf(M3 orangesnH);printf(M4 grapesnH);printf(n0 Exitnn);scanf(H%dn,&choice);iRchoice=0)break;elseswitch(choice)case 1:price=3.00;break;ca
48、se 2:price=2.50;break;case 3:price=4.10;break;case 4:price=10.20;break;printf(nprice=%0.1 fnM,price);)30007求三角形的面积和周长输入一个正整数repeat(0 repeat 1 0),做 repeat次下列运算:输入三角形的3 条 边 a,b,c,如果能构成一个三角形,输出面积area和 周 长 perimeter(保留 2 位小数);否则,输出“These sides do not correspond to a valid triangleo在 一 个 三 角 形 中,任 意 两 边
49、之 和 大 于 第 三 边。三 角 形 面 积 计 算 公 式:area=(s(s-a)(s-b)(s-c)A0.5,其中 s=(a+b+c)/2输出使用以下语句:printfi(area=%.2f,perimeter=%.2fnM,area,perimeter);printff These sides do not correspond to a valid trianglen);输入输出示例:括号内是说明输入2(repeat=2)5 5 3(a=5,b=5,c=3)1 4 1 (a=l,b=4,c=l)输出area=7.15,perimeter=13.00These sides do no
50、t correspond to a valid triangle#include#include int main(void)int a,b,c;int repeat,ri;double area,perimeter,s;scanf(d”,&repeat);fbr(ri=1;ri c)&(a+cb)&(b+ca)perimeter=a+b+c;s=(a+b+c)/2.00;area=sqrt(s*(s-a)*(s-b)*(s-c);printffarea=%.2f,perimeter=%.2fn,area,perimeter);elseprintThese sides do not corre