1、计算机二级c语言上机试题库 全部的上机题目都在里面的40001求11/21/31/n程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:读入1 个正整数 n(n=50),计算并输出11/21/31/n (保留3位小数)。例:括号内是说明输入2 (repeat=2)210输出1.5002.929#include int main( ) int ri, repeat; int i, n; float sum; scanf(%d, &repeat); for(ri=1; ri=repeat; ri+) scanf(%d, &n);/*
2、-*/ printf(%.3fn, sum); 40002 求n! 程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:读入1 个正整数 n (n=50),计算并输出 n! 。例:括号内是说明输入3 (repeat=3)1 105输出13628800120#include int main( ) int ri, repeat; int i, n; double fact; scanf(%d, &repeat); for(ri=1; ri=repeat; ri+) scanf(%d, &n);/*-*/ printf(%.0fn,
3、 fact); 40003 求x的n次幂 程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:读入1 个正实数x和1个正整数 n(n=50),计算并输出x的n次幂(保留2位小数)。例:括号内是说明输入2 (repeat=2)1.5 22.0 10输出2.251024.00 #include int main( ) int ri, repeat; int i, n; double x, mypow; scanf(%d, &repeat); for(ri=1; ri=repeat; ri+) scanf(%lf%d, &x, &n)
4、;/*-*/ printf(%.2fn, mypow); 40004 求11/21/31/4 程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:读入1 个正整数 n(n=100),计算并输出11/21/31/4的前n项和(保留3位小数)。例:括号内是说明输入2 (repeat=2)103输出0.6460.833#include int main( ) int ri, repeat; int i, n, flag; float sum; scanf(%d, &repeat); for(ri=1; ri=repeat; ri+)
5、scanf(%d, &n);/*-*/ printf(%.3fn, sum); 40005 求11/31/51/7 程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:读入1 个正整数 n(n=100),计算并输出11/31/51/7的前n项和(保留3位小数)。例:括号内是说明输入2 (repeat=2)103输出2.1331.533 #include int main( ) int ri, repeat; int i, n, temp; float sum; scanf(%d, &repeat); for(ri=1; ri=r
6、epeat; ri+) scanf(%d, &n);/*-*/ printf(%.3fn, sum); 40006 求11/31/51/7 程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:读入1 个正实数eps,计算并输出11/31/51/7,直到最后一项的绝对值小于eps(保留6位小数)。例:括号内是说明输入2 (repeat=2)1E-40.1输出0.7853480.834921 #include #include int main( ) int ri, repeat; int temp, flag; double ep
7、s, item, sum; scanf(%d, &repeat); for(ri=1; ri=repeat; ri+) scanf(%le, &eps);/*-*/ printf(%.6fn, sum); 40007 摄氏温度和华氏温度转换表 程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:输入2个整数begin和end,分别代表摄氏温度的起止值,输出该范围内摄氏温度C和华氏温度F的转换表。F = 32 + C * 9 / 5输出语句:printf(%d%10dn, c, f);例:括号内是说明输入1 (repeat=1)5
8、 7输出Celsius Fahrenheit5 416 427 44 #include int main( ) int ri, repeat; int begin, c, end, f; scanf(%d, &repeat); for(ri=1; ri=repeat; ri+) scanf(%d%d, &begin, &end); printf(Celsius Fahrenheitn);/*-*/ 40008 求奇数和 程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:读入一批正整数(以零或负数为结束标志),求其中的奇数和。例
9、:括号内是说明输入2 (repeat=2)1 3 90 7 08 7 4 3 70 5 6 101 -1输出11116 #include int main( ) int ri, repeat; int x, sum; scanf(%d, &repeat); for(ri=1; ri=repeat; ri+) scanf(%d, &x);/*-*/ printf(%dn, sum); 40009 求最大值 程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:输入一个正整数n, 再输入n个整数,输出最大值。例:括号内是说明输入3 (
10、repeat=3) 4 2 123 -100 0 4 9 1 -1 8 3 1 3 5 输出12395 #include int main( ) int ri, repeat; int i , max, n, x; scanf(%d, &repeat); for(ri=1; ri=repeat; ri+) scanf(%d, &n);/*-*/ printf(%dn, max); 40010 求整数的位数以及各位数之和 程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:输入一个整数,输出它的位数以及各位数之和。例:括号内是说明
11、输入4 (repeat=4) 123456 -100 -1 99输出number=6, sum=21 (123456的位数是6, 各位数之和是21)number=3, sum=1 (-100的位数是3, 各位数之和是1)number=1, sum=1 (-1的位数是1, 各位数之和是1)number=2, sum=18 (99的位数是2, 各位数之和是18) #include int main( ) int ri, repeat; int number, sum; long in; scanf(%d, &repeat); for(ri=1; ri=repeat; ri+) scanf(%ld,
12、 &in);/*-*/ printf(number=%d, sum=%dn, number, sum); 40011 求2/13/25/38/5. 程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:输入一个正整数n,输出 2/1+3/2+5/3+8/5 +.的前n项之和,保留2位小数。(该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子)例:括号内是说明输入3 (repeat=3) 1 5 20输出2.00 (第1项是2.00)8.39 (前5项的和是8.39)32.66 (前20项的和是32.66) #
13、include int main( ) int ri, repeat; int i,n; float a,b,s,t; scanf(%d, &repeat); for(ri=1; ri=repeat; ri+) scanf(%d, &n);/*-*/ printf(%.2fn,s); 40012 求aaaaaaaaa 程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:输入2个正整数a和n, 求a+aa+aaa+aaa(n个a)之和。例:括号内是说明输入2 (repeat=2)2 3 (a=2, n=3)8 5 (a=8, n=
14、5)输出246 (2+22+222)98760 (8+88+888+8888+88888) #include void main() int ri, repeat; int i, n; long int a, sn, tn; scanf(%d, &repeat); for(ri=1; ri=repeat; ri+) scanf(%ld%d, &a, &n);/*-*/ printf(%ldn,sn); 40013 判断素数 程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:输入一个正整数m,如果它是素数,输出YES,否则,输出
15、NO(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。例:括号内是说明输入4 (repeat=4) 1 2 9 17输出NO (1不是素数)YES (2是素数) NO (9不是素数) YES (17是素数) #include #include int main( ) int ri, repeat; int flag, i, m, n; scanf(%d, &repeat); for(ri=1; ri=repeat; ri+) scanf(%d, &m);/*-*/ if(flag) printf(YESn); else printf(NOn); 40014 统计字符 程序填空,不要
16、改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。例:括号内是说明输入2 (repeat=2)Reold building room 123.Programming is fun输出letter=17, blank=3, digit=3, other=1letter=16, blank=2, digit=0, other=0 #include int main( ) int ri, repeat; int blank, digit, letter, other; char
17、c; scanf(%d, &repeat); getchar(); for(ri=1; ri=repeat; ri+) c = getchar();/*-*/ printf(letter=%d, blank=%d, digit=%d, other=%dn, letter, blank, digit, other); 40021 求1 + 1/2! +.+ 1/n! 程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:输入1 个正整数n,计算 s 的前n项的和(保留 4 位小数)。 s = 1 + 1/2! +.+ 1/n! 例:
18、括号内是说明输入:2 (repeat=2)2 (n=2)10 (n=10)输出:1.50001.7183 #include stdio.hint main( ) int ri,repeat; int i,n; float s,t; scanf(%d,&repeat); for(ri=1;ri=repeat;ri+) scanf(%d,&n);/*-*/ printf(%0.4fn,s); 40022 求各位数字的立方和等于它本身的数 程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:输入2 个正整数m和n(1=m,n=1000
19、),输出m 到n之间的所有满足各位数字的立方和等于它本身的数。输出语句:printf(%dn, i);例:括号内是说明输入:2 (repeat=2)100 400 (m=100, n=400)1 100 (m=1, n=100)输出:153 (1*1*1+5*5*5+3*3*3=153)370 (3*3*3+7*7*7=370)371 (3*3*3+7*7*7+1*1*1=371)1 #include stdio.hint main( ) int ri,repeat; int i, digit, m, n, number, sum; scanf(%d,&repeat); for(ri=1;ri
20、=repeat;ri+) scanf(%d%d, &m, &n);/*-*/ 40023 统计素数并求和 程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:输入2 个正整数m和n(1=m,n=500),统计并输出m 和n之间的素数的个数以及这些素数的和(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。例:括号内是说明输入:3 (repeat=3)1 10 (m=1, n=10)20 35 (m=20, n=35)14 16 (m=14, n=16)输出:count=4, sum=17 (1到10之间有4个素数:2,
21、3,5,7)count=3, sum=83 (20到35之间有3个素数:23, 29, 31)count=0, sum=0 (14到16之间没有素数) #include stdio.h#include math.hint main( ) int ri,repeat; int count, digit, i, j, k, m, n, sum; scanf(%d,&repeat); for(ri=1;ri=repeat;ri+) scanf(%d%d, &m, &n);/*-*/ printf(count=%d, sum=%dn, count, sum); 40031 统计单词(选作) 程序填空,
22、不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:输入一行字符,统计其中单词的个数。各单词之间用空格分隔,空格数可以是多个。例:括号内是说明输入2 (repeat=2)Reold building room 123 Programming is fun输出43 #include int main( ) int ri, repeat; int count, word; char c; scanf(%d, &repeat); getchar(); for(ri=1; ri=repeat; ri+) c = getchar();/*-*/ p
23、rintf(%dn, count); 40032 输出一个整数的各位数字(选作) 程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:输入一个整数,从高位开始逐位输出它的各位数字。输出语句:printf(%-2d, digit);例:括号内是说明输入3 (repeat=3) 123456-6008输出1 2 3 4 5 66 0 08 #include int main( ) int ri, repeat; int digit; long in, temp, pow; scanf(%d, &repeat); for(ri=1;
24、ri=repeat; ri+) scanf(%ld, &in);/*-*/ printf(n); 40033 简单计算器(选作) 程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:程序模拟简单运算器的工作:输入一个算式(没有空格),遇等号=说明输入结束,输出结果。假设计算器只能进行加减乘除运算,运算数和结果都是整数,4种运算符的优先级相同,按从左到右的顺序计算。例:括号内是说明输入2 (repeat=2)15+2/3=1+2*10-10/2=输出510 #include int main( ) int ri, repeat;
25、int op1, op2, res; char operator; scanf(%d, &repeat); for(ri=1; ri=repeat; ri+) scanf(%d, &op1); operator = getchar();/*-*/ printf(%dn, res); 50001 求1 + 1/2! +.+ 1/n! 程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:输入1 个正整数n,计算 s 的前n项的和(保留 4 位小数)。 s = 1 + 1/2! +.+ 1/n! 要求定义并调用函数fact(n)计算n
26、的阶乘。例:括号内是说明输入:2 (repeat=2)2 (n=2)10 (n=10)输出:1.50001.7183 #include stdio.hint main( ) int ri,repeat; int i,n; double s; double fact(int n); scanf(%d,&repeat); for(ri=1;ri=repeat;ri+) scanf(%d,&n);/*-*/ printf(%0.4fn,s); /*-*/ 50002 求aaaaaaaaa 程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0repeat10),做repeat次下列运算:输入2个正整数a和n, 求a+aa+aaa+aaa(n个a)之和。要求定义并调用函数fn(a,n),它的功能是返回aaa(n个a)。例如,fn(3,2)的返回值是33。例:括号内是说明输入2 (repeat=2)2 3 (a=2, n=3)8 5 (a=8, n=5)输出246 (2+22+222)98760 (8+88+888+8888+88888) #include void main() int ri, repeat;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1