浙江大学C语言上机考试题库.docx
- 文档编号:23336581
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:119
- 大小:40.84KB
浙江大学C语言上机考试题库.docx
《浙江大学C语言上机考试题库.docx》由会员分享,可在线阅读,更多相关《浙江大学C语言上机考试题库.docx(119页珍藏版)》请在冰豆网上搜索。
浙江大学C语言上机考试题库
上机考试练习题
20021程序填空,不要改变与输入输出有关的语句。
输入一个正整数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; elsey=0; printf("f(%.2f)=%.1f\n",x,y); } } 20022程序填空,不要改变与输入输出有关的语句。 输入华氏温度,输出对应的摄氏温度。 计算公式: c=5*(f-32)/9,式中: c表示摄氏温度,f表示华氏温度。 输入输出示例: 括号内为说明 输入 150(fahr=150) 输出 celsius=65 #include intmain(void) { intcelsius,fahr; /*---------*/ scanf(“%d”,&fahr); celsius=5.0*(fahr-32)/9; printf("celsius=%d\n",celsius); } 20023程序填空,不要改变与输入输出有关的语句。 输入存款金额money、存期year和年利率rate,根据下列公式计算存款到期时的利息interest(税前),输出时保留2位小数。 interest=money(1+rate)^year-money 输入输出示例: 括号内为说明 输入 100030.025(money=1000,year=3,rate=0.025) 输出 interest=76.89 #include #include intmain(void) { intmoney,year; doubleinterest,rate; /*---------*/ scanf(“%d%d%lf”,&money,&year,&rate); interest=money*pow((1+rate),year)-money; printf("interest=%.2f\n",interest); } 20024程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat(0 输入x,计算并输出下列分段函数f(x)的值(保留2位小数),请调用sqrt函数求平方根,调用pow函数求幂。 当x>=0时,f(x)=x^0.5,当x小于0时,f(x)=(x+1)^2+2x+1/x。 输入输出示例: 括号内是说明 输入 3(repeat=3) 10 -0.5 0 输出 f(10.00)=3.16 f(-0.50)=-2.75 f(0.00)=0.00 #include #include intmain(void) { intrepeat,ri; doublex,y; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ /*---------*/ scanf("%lf",&x); if(x>=0)y=sqrt(x); elsey=pow((x+1),2)+2*x+1/x; printf("f(%.2f)=%.2f\n",x,y); } } 20025程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat(0 输入实数x,计算并输出下列分段函数f(x)的值,输出时保留1位小数。 当x不等于10时,y=f(x)=x,当x等于10时,y=f(x)=1/x。 输入输出示例: 括号内是说明 输入 2(repeat=2) 10 234 输出 f(10.0)=0.1 f(234.0)=234.0 #include intmain(void) { intrepeat,ri; doublex,y; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ /*---------*/ scanf("%lf",&x); if(x! =10)y=x; elsey=1/x; printf("f(%.1f)=%.1f\n",x,y); } } 20026程序填空,不要改变与输入输出有关的语句。 输入2个整数num1和num2,计算并输出它们的和、差、积、商与余数。 输出两个整数的余数可以用printf("%d%%%d=%d\n",num1,num2,num1%num2); 输入输出示例: 括号内是说明 输入 53(num1=5,num2=3) 输出 5+3=8 5-3=2 5*3=15 5/3=1 5%3=2 #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); return0; } 20031程序填空,不要改变与输入输出有关的语句。 计算表达式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); } 20032程序填空,不要改变与输入输出有关的语句。 输入一个正整数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); } } 20033程序填空,不要改变与输入输出有关的语句。 输入一个正整数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); } } 20034程序填空,不要改变与输入输出有关的语句。 输入一个正整数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); } } 20035程序填空,不要改变与输入输出有关的语句。 输入一个正整数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); /*---------*/ sum=0;flag=1;item=0;t=1; for(i=1;i<=n;i++) {item=flag*1.0/t; sum=sum+item; flag=-flag; t=t+3; } printf("sum=%.3f\n",sum); } } 20036程序填空,不要改变与输入输出有关的语句。 输入一个正整数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); } } } 20037程序填空,不要改变与输入输出有关的语句。 输入一个正整数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); } } 20038程序填空,不要改变与输入输出有关的语句。 输入一个正整数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); } } 20041程序填空,不要改变与输入输出有关的语句。 输入一个正整数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); } return0; } 20042程序填空,不要改变与输入输出有关的语句。 输入一个正整数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); } return0; } /*---------*/ doublefact(intn) { inti; doublef=1; for(i=1;i<=n;i++) f=f*i; returnf; } 20043程序填空,不要改变与输入输出有关的语句。 输入一个正整数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); } return0; } /*---------*/ doublefact(intn) { inti; doublef=1; for(i=1;i<=n;i++) f=f*i; returnf; } 20044程序填空,不要改变与输入输出有关的语句。 计算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); } 30001程序填空,不要改变与输入输出有关的语句。 输入一个正整数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"); elseprintf("a和b为0,c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浙江大学 语言 上机 考试 题库