《C语言实验题及参考答案》由会员分享,可在线阅读,更多相关《C语言实验题及参考答案(89页珍藏版)》请在金锄头文库上搜索。
1、实验一1、计算整数各位数字之和 (2.1) (10 分)输入一个3位正整数,将其每一位的数字相加,输出和。输入格式:输入一个3位正整数。 变量数据类型为unsigned。输出格式:输出整数每一位相加后的整数和。输入样例:123输出样例:6【参考答案】#include stdio.hint main() unsigned int a,ge,shi,bai,sum; scanf(%d,&a); ge=a%10; shi=a/10%10; bai=a/100; sum=ge+shi+bai; printf(%dn,sum); return 0;2、计算代数表达式 (2.2) (10 分)求: 输入格
2、式:输入角度x。变量数据类型为double。为3.14159。输出格式:输出y的值,精确到小数点后2位。输入样例:12.3输出样例:1.69【参考答案】#include #include #define PI 3.14159int main()double x,y;scanf(%lf,&x);y=sqrt(sin(60*PI/180)+1)*(sin(30*PI/180)+1)/cos(x*PI/180); printf(%.2lf,y); return 0;3、逆序的三位数 (10 分)程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。
3、比如输入700,输出应该是7。输入格式:每个测试是一个3位的正整数。输出格式:输出按位逆序的数。输入样例:123输出样例:321【参考答案】#include stdio.hint main() int a,ge,shi,bai,b; scanf(%d,&a); ge=a%10; shi=a/10%10; bai=a/100; b=ge*100+10*shi+bai; printf(%dn,b); return 0;4、求整数均值 (10 分)本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。输入格式:输入在一行中给出4个整数,其间以空格分隔。 输出格式:在一行中按照
4、格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位。 输入样例:1 2 3 4输出样例:Sum = 10; Average = 2.5【参考答案】#include stdio.hint main()int a,b,c,d,sum; float ave; scanf(%d %d %d %d,&a,&b,&c,&d); sum=a+b+c+d; ave=sum/4.0; printf(Sum = %d; Average = %.1fn,sum,ave); return 0;5、是不是太胖了 (10 分)据说一个人的标准体重应该是其身高(单位:厘米)
5、减去100、再乘以0.9所得到的公斤数。已知市斤是公斤的两倍。现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧)输入格式:输入第一行给出一个正整数H(100 H 300),为某人身高。输出格式:在一行中输出对应的标准体重,单位为市斤,保留小数点后1位。输入样例:169输出样例:124.2【参考答案】#include int main() int h;float w; scanf(%d,&h); w=(h-100)*0.9*2; printf(%.1fn, w); return 0;6、日期格式化 (10 分)世界上不同国家有不同的写日期的习惯。比如美国人习惯写成“月-日
6、-年”,而中国人习惯写成“年-月-日”。下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期。输入格式:输入在一行中按照“mm-dd-yyyy”的格式给出月、日、年。题目保证给出的日期是1900年元旦至今合法的日期。输出格式:在一行中按照“yyyy-mm-dd”的格式给出年、月、日。输入样例:03-15-2017输出样例:2017-03-15【参考答案】#include int main() int year,month,day; scanf(%d-%d-%d,&month,&day,&year); printf(%d-%02d-%02dn,year,month,day); ret
7、urn 0; 7、整数四则运算 (10 分)本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。输入格式:输入在一行中给出2个正整数A和B。 输出格式:在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。 输入样例:3 2输出样例:3 + 2 = 53 - 2 = 13 * 2 = 63 / 2 = 1【参考答案】#include stdio.hint main() int a,b; scanf(%d %d,&a,&b); printf(%d + %d = %dn,a,b,a+b); printf(%d - %d = %dn,a,b,a-
8、b); printf(%d * %d = %dn,a,b,a*b); printf(%d / %d = %dn,a,b,a/b); return 0;8、计算存款利息 (10 分)本题目要求计算存款利息,计算公式为interest=money(1+rate)yearmoney,其中interest为存款到期时的利息(税前),money是存款金额,year是存期,rate是年利率。输入格式:输入在一行中顺序给出三个正实数money、year和rate,以空格分隔。输出格式:在一行中按“interest = 利息”的格式输出,其中利息保留两位小数。输入样例:1000 3 0.025输出样例:int
9、erest = 76.89【参考答案】#include #include int main() float money,rate,year,interest; scanf(%f %f %f,&money,&year,&rate); interest=money*pow(1+rate),year)-money; printf(interest = %.2fn, interest); return 0;实验二1、比较大小 (15 分)本题要求将输入的任意3个整数从小到大输出。输入格式:输入在一行中给出3个整数,其间以空格分隔。输出格式:在一行中将3个整数从小到大输出,其间以“-”相连。 输入样例:
10、4 2 8输出样例:2-4-8【参考答案】#include int main() int a,b,c,t; scanf(%d %d %d,&a,&b,&c); if(ab) t=a;a=b;b=t; if(ac) t=a;a=c;c=t; if(bc) t=b;b=c;c=t; printf(%d-%d-%dn,a,b,c); return 0; 2、计算运费 (3.4) (15 分)运输公司对用户计算运费。路程(s)越远,每千米运费就越低。标准如下: s250km ,没有折扣; 250kms500km, 2%的折扣; 500kms1000km, 5%的折扣; 1000kms2000km,8的
11、折扣; 2000kms3000km,10的折扣; 3000kms,15的折扣。设每千米每吨货物的基本运费为p,货物重为 w,距离为s,折扣为d,则总运费f的计算公式为: fpws(d)输入格式:在一行中以小数形式输入基本运费、货重和距离,以空格作为分隔符。输出格式:在一行输出计算出来的运费,精确到小数点后位的值。输入样例:在这里给出一组输入。例如:100 20 300输出样例:在这里给出相应的输出。例如:freight=588000.00【参考答案】#include int main() int c,s; float p,w,d,f; scanf (%f %f %d,&p,&w,&s); if
12、 (s=3000) c=12; else c=s/250; switch(c) case 0: d=0;break; case 1: d=2;break; case 2: case 3: d=5;break; case 4: case 5: case 6: case 7: d=8;break; case 8: case 9: case 10: case 11: d=10;break; case 12: d=15;break; f=p*w*s*(1-d/100.0); printf(freight=%.2fn,f); return 0; 3、三天打鱼两天晒网 (15 分)中国有句俗语叫“三天打鱼
13、两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?输入格式:输入在一行中给出一个不超过1000的正整数N。输出格式:在一行中输出此人在第N天中是“Fishing”(即“打鱼”)还是“Drying”(即“晒网”),并且输出“in day N”。输入样例1:103输出样例1:Fishing in day 103输入样例2:34输出样例2:Drying in day 34【参考答案】#include stdio.hint main() int N,x; scanf(%d,&N); x=N%5; if(x=1&x=3)printf(Fishing in day %dn,N); else printf(Drying in day %dn,N); return 0;4、计算分段函数2 (15 分)本题目要求计算下列分段函数f(x)的值: