c语言题库.docx
- 文档编号:17550744
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:108
- 大小:37.96KB
c语言题库.docx
《c语言题库.docx》由会员分享,可在线阅读,更多相关《c语言题库.docx(108页珍藏版)》请在冰点文库上搜索。
c语言题库
2.2-1“输入x,计算并输入下列分段函数f(x)的值”
/*程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0 输入x,计算并输出下列分段函数f(x)的值(保留1位小数)。 当x不等于0时,y=f(x)=1/x,当x等于0时,y=f(x)=0。 输入输出示例: 括号内是说明 输入 2(repeat=2) 10(x=10) 0(x=0) 输出 f(10.00)=0.1 f(0.00)=0.0*/ #include intmain(void) { intrepeat,ri; doublex,y; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ scanf("%lf",&x); if(x! =0) y=1/x; else y=0; printf("f(%.2f)=%.1f\n",x,y); } } 2.2-2/*输入华氏温度,输出对应摄氏温度。 计算公式: c=5*(f-32)/9*/ #include intmain(void) { intcelsius,fahr; printf("Enterfahr: "); scanf("%d",&fahr); celsius=5*(fahr-32)/9; printf("celsius=%d\n",celsius); return0;} 2.2-3/*算利息interest=mney*(pow((1+rate),year)-money*/ #include #include intmain(void) { intmoney,year; doubleinterest,rate; printf("Entermoney,year,andrate: "); scanf("%d%d%lf",&money,&year,&rate); interest=money*pow((1+rate),year)-money; printf("interest=%.2f\n",interest); } 2.2-4/*计算下列分段函数,若x<0,y=x^2+2x+1/x;否则,y=sqrt(x)*/ #include #include intmain(void) { intrepeat,ri; doublex,y; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ /*---------*/ scanf("%lf",&x); if(x<0) y=pow(x,2)+2*x+1/x; else y=sqrt(x); printf("f(%.2f)=%.2f\n",x,y); } } 2.2-5/*计算下列分段函数,若x=10,y=1/x;否则,y=x.*/ #include intmain(void) { intrepeat,ri; doublex,y; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ scanf("%lf",&x); if(x==10) y=1/x; else y=x; printf("f(%.1f)=%.1f\n",x,y); } } 2.2-6/*算术运算,求两数的和、差、积、商和余*/ #include intmain(void) { intnum1,num2; scanf("%d%d",&num1,&num2); printf("%d+%d=%d\n",num1,num2,num1+num2); printf("%d-%d=%d\n",num1,num2,num1-num2); printf("%d*%d=%d\n",num1,num2,num1*num2); printf("%d/%d=%d\n",num1,num2,num1/num2); printf("%d%%%d=%d\n",num1,num2,num1%num2); } 2.3-1/*程序填空,不要改变与输入输出有关的语句。 计算表达式1+2+3+......+100的值。 输出示例: sum=5050*/ #include intmain(void) { inti,sum; sum=0; for(i=1;i<=100;i++) sum=sum+i; printf("sum=%d\n",sum); } 2.3-2/*程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat(0 输入一个正整数m(0<=m<=100),计算表达式m+(m+1)+(m+2)+......+100的值。 输入输出示例: 括号内为说明 输入 3(repeat=3) 0(计算0+1+2+...+100) 10(计算10+11+12+...+100) 50(计算50+51+52+...+100) 输出 sum=5050 sum=5005 sum=3825#include intmain(void) { inti,m,sum; intrepeat,ri; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ scanf("%d",&m); sum=0; for(i=m;i<=100;i++) sum=sum+i; printf("sum=%d\n",sum); } } 2.3-3/*程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat(0 输入2个正整数m和n(m<=n),计算表达式1/m+1/(m+1)+1/(m+2)+......+1/n的值,输出时保留3位小数。 输入输出示例: 括号内为说明 输入 3(repeat=3) 515(计算1/5+1/6+1/7+...+1/15) 1020(计算1/10+1/11+1/12+...+1/20) 13(计算1+1/2+1/3) 输出 sum=1.235 sum=0.769 sum=1.833 */ #include intmain(void) { inti,m,n; intrepeat,ri; doublesum; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ scanf("%d%d",&m,&n); sum=0; for(i=m;i<=n;i++) sum=sum+1.0/i; printf("sum=%.3f\n",sum); } } 2.3-4/*程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat(0 输入一个正整数n,计算表达式1+1/3+1/5+......的前n项之和,输出时保留6位小数。 输入输出示例: 括号内为说明 输入 2(repeat=2) 5(计算1+1/3+1/5+1/7+1/9) 23(计算1+1/3+1/5+...+1/45) 输出 sum=1.787302 sum=2.549541*/ #include intmain(void) { inti,n; intrepeat,ri; doublesum; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ scanf("%d",&n); sum=0; for(i=1;i<=n;i++) sum=sum+1.0/(2*i-1); printf("sum=%.6f\n",sum); } } 2.3-5/*程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat(0 读入一个正整数n,计算1-1/4+1/7-1/10+……的前n项之和,输出时保留3位小数。 输入输出示例: 括号内是说明 输入 2(repeat=2) 3 10 输出 sum=0.893 sum=0.819 */ #include intmain(void) { intflag,i,n,t; intrepeat,ri; doubleitem,sum; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ scanf("%d",&n); flag=1; t=1; sum=1; for(i=1;i { flag=-flag; t=t+3; item=1.0*flag/t; sum=sum+item; } printf("sum=%.3f\n",sum); } } 2.3-6/*程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat(0 读入2个整数lower和upper,输出一张华氏—摄氏温度转换表,华氏温度的取值范围是[lower,upper],每次增加2F。 计算公式: c=5*(f-32)/9,其中: c表示摄氏温度,f表示华氏温度。 输出请使用语句printf("%3.0f%6.1f\n",fahr,celsius); 输入输出示例: 括号内是说明 输入 2(repeat=2) 3235(lower=32,upper=35) 4030(lower=40,upper=30) 输出 fahrcelsius 320.0 341.1 fahrcelsius */ #include intmain(void) { intlower,upper; intrepeat,ri; doublecelsius,fahr; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ scanf("%d%d",&lower,&upper); printf("fahrcelsius\n"); for(fahr=lower;fahr<=upper;fahr=fahr+2) { celsius=5*(fahr-32)/9; printf("%3.0f%6.1f\n",fahr,celsius); } } } 2.3-7/* 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat(0 输入2个正整数m和n,计算m! +n! 。 输入输出示例: 括号内是说明 输入: 2(repeat=2) 14(m=1,n=4) 38(m=3,n=8) 输出: 1! +4! =25 3! +8! =40326 */ #include"stdio.h" intmain(void) { inti,m,n; intrepeat,ri; doublefm,fn; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ scanf("%d%d",&m,&n); fm=fn=1; for(i=1;i<=m;i++) fm=fm*i; for(i=1;i<=n;i++) fn=fn*i; printf("%d! +%d! =%.0f\n",m,n,fm+fn); } } 2.3-8/* 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat(0 读入1个实数x和正整数n(n<=50),计算并输出x的n次幂(保留2位小数),不允许调用pow函数求幂。 输入输出示例: 括号内是说明 输入 2(repeat=2) 1.52(x=1.5,n=2) 27(x=2,n=7) 输出 2.25 128.00 */ #include intmain(void) { inti,n; intrepeat,ri; doublemypow,x; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ scanf("%lf%d",&x,&n); mypow=1; for(i=1;i<=n;i++) mypow=mypow*x; printf("%.2f\n",mypow); } } 2.4-1/* 程序填空,不要改变与输入输出有关的语句。 输入一个正整数n,生成一张3的乘方表,输出3^0~3^n的值,可调用幂函数计算3的乘方。 输出使用语句printf("pow(3,%d)=%.0f\n",i,mypow); 输入输出示例: 括号内是说明 输入 3(n=3) 输出 pow(3,0)=1 pow(3,1)=3 pow(3,2)=9 pow(3,3)=27 */ #include #include intmain(void) { inti,n; doublemypow; scanf("%d",&n); for(i=0;i<=n;i++) { mypow=pow(3,i); printf("pow(3,%d)=%.0f\n",i,mypow); } } 2.4-2/*程序填空,不要改变与输入输出有关的语句。 输入一个正整数n,生成一张阶乘表,输出1! ~n! 的值,要求定义和调用函数fact(n)计算n! ,函数类型为double。 输出使用语句printf("%d! =%.0f\n",i,myfact); 输入输出示例: 括号内是说明 输入 3(n=3) 输出 1! =1 2! =2 3! =6 */ #include intmain(void) { inti,n; doublemyfact; doublefact(intn); scanf("%d",&n); for(i=1;i<=n;i++) { myfact=fact(i); printf("%d! =%.0f\n",i,myfact); } } doublefact(intn) { inti; doublep; p=1; for(i=1;i<=n;i++) p=p*i; returnp; } 2.4-3/* 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat(0 输入2个正整数m和n(m<=n),计算n! /(m! *(n-m)! )。 要求定义并调用函数fact(n)计算n的阶乘,其中n的类型是int,函数类型是double。 例: 括号内是说明 输入: 2(repeat=2) 27(m=2,n=7) 512(m=5,n=12) 输出: result=21 result=792 */ #include"stdio.h" doublefact(intn); intmain(void) { intm,n; intrepeat,ri; doubles; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ scanf("%d%d",&m,&n); s=fact(n)/(fact(m)*fact(n-m)); printf("result=%.0f\n",s); } } doublefact(intn) { inti; doublep; p=1; for(i=1;i<=n;i++) p=p*i; returnp; } 2.4-4/* 程序填空,不要改变与输入输出有关的语句。 计算100^0.5+101^0.5+……+1000^0.5的值(保留2位小数),可调用sqrt函数计算平方根。 输入输出示例: 括号内是说明 输出 sum=20435.99 */ #include #include intmain(void) { inti; doublesum; sum=0; for(i=100;i<=1000;i++) sum=sum+sqrt(i); printf("sum=%.2f\n",sum); return0; } 2.4-5/* 输出还款年限----月还款额表 */ #include #include intmain(void) { inti,year,month; doubleloan,rate,money; scanf("%lf%lf",&loan,&rate); printf("还款年限----月还款额\n"); for(i=5;i<=30;i++) { month=i*12; money=loan*rate*pow((1+rate),month)/(pow((1+rate),month)-1); printf("%4d%f\n",i,money); } return0; } 3-1/* 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat(0 输入参数a,b,c,求一元二次方程a*x*x+b*x+c=0的根,结果保留2位小数。 输出使用以下语句: printf("参数都为零,方程无意义! \n"); printf("a和b为0,c不为0,方程不成立\n"); printf("x=%0.2f\n",-c/b); printf("x1=%0.2f\n",(-b+sqrt(d))/(2*a)); printf("x2=%0.2f\n",(-b-sqrt(d))/(2*a)); printf("x1=%0.2f+%0.2fi\n",-b/(2*a),sqrt(-d)/(2*a)); printf("x2=%0.2f-%0.2fi\n",-b/(2*a),sqrt(-d)/(2*a)); 输入输出示例: 括号内为说明 输入: 5(repeat=5) 000(a=0,b=0,c=0) 001(a=0,b=0,c=1) 024(a=0,b=2,c=4) 2.18.93.5(a=2.1,b=8.9,c=3.5) 123(a=1,b=2,c=3) 输出: 参数都为零,方程无意义! a和b为0,c不为0,方程不成立 x=-2.00 x1=-0.44 x2=-3.80 x1=-1.00+1.41i x2=-1.00-1.41i */ #include #include intmain(void) { intrepeat,ri; doublea,b,c,d; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ scanf("%lf%lf%lf",&a,&b,&c); d=b*b-4*a*c; if(a==0) if(b==0) if(c==0) printf("参数都为零,方程无意义! \n"); else printf("a和b为0,c不为0,方程不成立\n"); else printf("x=%0.2f\n",-c/b); else if(d>=0) { printf("x1=%0.2f\n",(-b+sqrt(d))/(2*a)); printf("x2=%0.2f\n",(-b-sqrt(d))/(2*a)); } else { printf("x1=%0.2f+%0.2fi\n",-b/(2*a),sqrt(-d)/(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 题库