1、浙江大学城市学院C语言期末上机考试题库之一浙江大学城市学院C语言期末上机考试题库之一20021程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:输入 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.1f(0.00) = 0.0#include int main(void) int repeat, ri; do
2、uble x, 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) = %.1fn, x, y); 20022程序填空,不要改变与输入输出有关的语句。输入华氏温度,输出对应的摄氏温度。计算公式:c = 5*(f-32)/9,式中:c表示摄氏温度,f表示华氏温度。输入输出示例:括号内为说明输入150 (fahr=150)输出celsius = 65#include int main(void)int celsius, fahr; s
3、canf(“%d”,&fahr); celsius=5.0*(fahr-32)/9; printf(celsius = %dn, celsius);20023程序填空,不要改变与输入输出有关的语句。输入存款金额 money、存期 year 和年利率 rate,根据下列公式计算存款到期时的利息 interest(税前),输出时保留2位小数。interest = money(1+rate)year - money输入输出示例:括号内为说明输入1000 3 0.025 (money = 1000, year = 3, rate = 0.025)输出interest = 76.89#include #
4、include int main(void) int money, year;double interest, rate;scanf(“%d%d%lf”,&money,&year,&rate); interest=money*pow(1+rate),year)-money; printf(interest = %.2fn, interest);20024程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat= 0时,f(x) = x0.5,当x小于0时,f(x) = (x+1)2 + 2x + 1/x。输入输出示例:括号内是说明输入3 (repeat=3)10-0
5、.50输出f(10.00) = 3.16f(-0.50) = -2.75f(0.00) = 0.00#include #include int main(void) int repeat, ri; double x, y; scanf(%d, &repeat); for(ri = 1; ri =0) y=sqrt(x);else y=pow(x+1),2)+2*x+1/x; printf(f(%.2f) = %.2fn, x, y); 20025程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:输入实数 x,计算并输出下列分段
6、函数 f(x) 的值,输出时保留1位小数。当 x 不等于10时,y = f(x) = x,当 x 等于10时,y = f(x) = 1/x。输入输出示例:括号内是说明输入2 (repeat=2)10234输出f(10.0) = 0.1f(234.0) = 234.0#include int main(void) int repeat, ri; double x, y; scanf(%d, &repeat);for(ri = 1; ri = repeat; ri+)scanf(%lf, &x);if(x!=10) y=x;else y=1/x; printf(f(%.1f) = %.1fn, x
7、, y); 20026程序填空,不要改变与输入输出有关的语句。输入2个整数 num1 和 num2,计算并输出它们的和、差、积、商与余数。输出两个整数的余数可以用 printf(%d % %d = %dn, num1, num2, num1%num2);输入输出示例:括号内是说明输入5 3 (num1=5,num2=3)输出5 + 3 = 85 - 3 = 25 * 3 = 155 / 3 = 15 % 3 = 2#include int main(void)int num1, num2; scanf(%d%d, &num1,&num2); printf(%d + %d = %dn, num1
8、, num2, num1+num2); printf(%d - %d = %dn, num1, num2, num1-num2); printf(%d * %d = %dn, num1, num2, num1*num2); printf(%d / %d = %dn, num1, num2, num1/num2); printf(%d % %d = %dn, num1, num2, num1%num2); return 0;20031程序填空,不要改变与输入输出有关的语句。计算表达式 1 + 2 + 3 + . + 100的值。输出示例:sum = 5050#include int main(v
9、oid) int i, sum;sum=0;for(i=1;i=100;i+) sum=sum+i; printf(sum = %dn, sum);20032程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:输入一个正整数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 = 5050sum = 5005
10、sum = 3825#include int main(void) int i, m, sum; int repeat, 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 = %dn, sum); 20033程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:输入2个正整数 m 和 n(m=n),计算表达式 1/m + 1/(m+1) + 1/(m+
11、2) + . + 1/n的值,输出时保留3位小数。输入输出示例:括号内为说明输入3 (repeat=3)5 15 (计算1/5+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, ri; double sum; scanf(%d, &repeat); for(ri = 1; ri = repeat; ri+) scanf(%d%d, &m, &n); su
12、m=0; for(i=m;i=n;i+) sum=sum+1.0/i; printf(sum = %.3fn, sum); 20034程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:输入一个正整数 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.787302sum = 2.549541#include int main(
13、void) int i, n; int repeat, ri; double sum; 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 = %.6fn, sum); 20035程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:读入一个正整数 n,计算11/41/71/10的前 n 项之和,输出时保留3位小数。输入输出示例:括号内是说明输入
14、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); 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 = %.3fn, sum); 20036
15、程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:读入2个整数 lower 和 upper,输出一张华氏摄氏温度转换表,华氏温度的取值范围是lower, upper,每次增加2F。计算公式:c = 5 * (f - 32) / 9,其中:c表示摄氏温度,f表示华氏温度。输出请使用语句 printf(%3.0f %6.1fn, fahr, celsius);输入输出示例:括号内是说明输入2 (repeat=2)32 35 (lower=32,upper=35)40 30 (lower=40,upper=30)输出fahr cel
16、sius 32 0.0 34 1.1fahr celsius#include int main(void) int lower, upper; int repeat, ri; double celsius, fahr; scanf(%d, &repeat); for(ri = 1; ri = repeat; ri+) scanf(%d%d, &lower, &upper); printf(fahr celsiusn);for(fahr=lower;fahr=upper;fahr=fahr+2) celsius=5 * (fahr- 32) / 9; printf(%3.0f %6.1fn, f
17、ahr, celsius); 20037程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:输入2 个正整数 m 和 n,计算 m!n!。输入输出示例:括号内是说明输入:2 (repeat=2)1 4 (m=1,n=4)3 8 (m=3,n=8)输出:1! + 4! = 253! + 8! = 40326#include stdio.hint main(void) int i, m, n; int repeat, ri; double fm, fn; scanf(%d, &repeat); for(ri = 1; ri = re
18、peat; 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! = %.0fn, m, n, fm+fn); 20038程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:读入1 个实数x和正整数 n(n=50),计算并输出 x 的 n 次幂(保留2位小数),不允许调用pow函数求幂。输入输出示例:括号内是说明输入2 (repeat=2)1.5 2 (x=1.5,n=2)2 7
19、(x=2,n=7)输出2.25128.00#include int main(void) int i, n; int repeat, ri; double mypow, 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(%.2fn, mypow); 20041程序填空,不要改变与输入输出有关的语句。输入一个正整数n,生成一张3的乘方表,输出30 3n的值,可调用幂函数计算3的乘方。输出使用语句 pr
20、intf(pow(3,%d) = %.0fn, i, mypow);输入输出示例:括号内是说明输入3 (n=3)输出pow(3,0) = 1pow(3,1) = 3pow(3,2) = 9pow(3,3) = 27#include #include int main(void) int i, n; double mypow;scanf(%d, &n);for(i=0;i=n;i+) mypow=pow(3,i); printf(pow(3,%d) = %.0fn, i, mypow); return 0;20042程序填空,不要改变与输入输出有关的语句。输入一个正整数n,生成一张阶乘表,输出
21、1! n! 的值,要求定义和调用函数fact(n)计算 n!,函数类型为double。输出使用语句 printf(%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(%d, &n);for(i=1;i=n;i+) myfact=fact(i); printf(%d! = %.0fn, i, myfact); return 0;double fact(int n) int
22、 i;double f=1;for(i=1;i=n;i+)f=f*i;return f;20043程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:输入2个正整数 m 和 n(m=n),计算 n! /(m!* (n-m)!) 。要求定义并调用函数fact(n)计算n的阶乘, 其中 n 的类型是 int,函数类型是 double。例:括号内是说明输入:2 (repeat=2)2 7 (m=2, n=7)5 12 (m=5, n=12)输出:result = 21result = 792#include stdio.hdouble
23、 fact(int n);int main(void) int m, n; int repeat, ri; double s; scanf(%d, &repeat); for(ri = 1; ri = repeat; ri+) scanf(%d%d, &m, &n); s= fact(n)/(fact(m)*fact(n-m); printf(result = %.0fn, s);return 0;double fact(int n) int i;double f=1;for(i=1;i=n;i+)f=f*i;return f;20044程序填空,不要改变与输入输出有关的语句。计算 1000.
24、51010.510000.5的值(保留2位小数),可调用sqrt函数计算平方根。输入输出示例:括号内是说明输出sum = 20435.99#include #include int main(void) int i; double sum; sum=0; for(i=100;i=1000;i+) sum=sum+sqrt(i); printf(sum = %.2fn, sum);30001程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:输入参数a,b,c,求一元二次方程a*x*xb*xc0的根,结果保留2位小数。输出使用以下
25、语句:printf(参数都为零,方程无意义!n);printf(a和b为0,c不为0,方程不成立n);printf(x = %0.2fn, -c/b);printf(x1 = %0.2fn, (-b+sqrt(d)/(2*a);printf(x2 = %0.2fn, (-b-sqrt(d)/(2*a);printf(x1 = %0.2f+%0.2fin, -b/(2*a), sqrt(-d)/(2*a);printf(x2 = %0.2f-%0.2fin, -b/(2*a), sqrt(-d)/(2*a);输入输出示例:括号内为说明输入:5 (repeat=5)0 0 0 (a=0,b=0,c
26、=0)0 0 1 (a=0,b=0,c=1)0 2 4 (a=0,b=2,c=4)2.1 8.9 3.5 (a=2.1,b=8.9,c=3.5)1 2 3 (a=1,b=2,c=3)输出:参数都为零,方程无意义!a和b为0,c不为0,方程不成立x = -2.00x1 = -0.44x2 = -3.80x1 = -1.00+1.41ix2 = -1.00-1.41i#include #include int main(void) int repeat, ri; double a, b, c, d; scanf(%d, &repeat); for(ri = 1; ri =0)printf(x1 = %0.2fn, (-b+sqrt(d)/(2*a);printf(x2 = %0.2fn, (-b-sqrt(d)/(2*a); else printf(x1 = %0.2f+%0.2fin, -b/(2*a), sqrt(-d)/(2*a);printf(x2 = %0.2f-%0.2fin, -b/(2*a), sqrt(-d)/(2*a); 30002程序填空,不要改变与输入输出有关的语句。输入一个正整数 repeat (0repeat10),做 repeat 次下列运算:输入一个整数 x,计算并输出下列分段函数 sign(x) 的值。 -1 x 0y = sign(x) =
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1