200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > C语言考试上机操作题库(基础)(参考)

C语言考试上机操作题库(基础)(参考)

时间:2021-10-06 21:28:33

相关推荐

C语言考试上机操作题库(基础)(参考)

下面为C语言上机考试中可能出现的代码问题(基础):

(喜欢的话记得分享给身边的小伙伴哦!点点赞,谢谢啦!)

1、求300-800之间,能被3整除或者能被5整除的数的总个数。

# include <stdio.h>int main(){int i, s = 0;for (i=300;i<=800;i++){if (i%3==0||i%5==0)s++;}printf("%d\n", s);return 0;}

2、输入一个十进制数,分别输出该数对应的八进制与十六进制数。(输出三行第一行为八进制数,第二行为十六进制数,十六进制字母取小写字符,最后一行为空)

# include <stdio.h>int main(){int i;scanf("%d", &i);printf("%o\n%x\n", i, i);return 0;}

3、输入两个正整数m和n,求其最大公约数和最小公倍数。(输入正整数以空格隔开,输出两行,第一行为最大公约数,第二行为最小公倍数)

# include <stdio.h>int main(){int m, n, x, y, z;scanf("%d %d", &x, &y);m = x;n = y;while (y!=0){z = x%y;x = y;y = z;}printf("%d\n%d\n", x, m*n/x);return 0;}

4、输入一个整数n(1<=n<=10),然后输入n个整数,并保存到数组中,再输入一个整数m,输出m在数组中的下标,如果不存在则输出"Not present!"。例:

输入:

5

45 12 75 36 98

12

输出:

1

# include <stdio.h>int main(){int i, n, m, k, a[10];scanf("%d", &n);for (i=0;i<n;i++)scanf("%d", &a[i]);scanf("%d", &m);for (i=0;i<n;i++){k = i;if (m==a[i]){printf("%d\n", i);break;}}if (k==n-1&&a[n-1]!=m)printf("Not present!\n");return 0;}

5、用循环语句实现以下图形。(注意图形总体位置)

*

在这里插入代码片

# include <stdio.h>int main(){int i, j, k;for (i=1;i<=4;i++){for (j=1;j<=4-i;j++)printf(" ");for (k=1;k<=2*i-1;k++)printf("*");printf("\n");}return 0;}

6、利用递归函数,对一个给定的整数5,输出其阶乘。

# include <stdio.h>int fun(int n){int s;if (n==1)return 1;elses = n * fun(n-1);return s;}int main(){int fun(int n);int n = 5;printf("%d\n",fun(5));return 0;}

7、编程计算123+345+567+…+99100101的值。

# include <stdio.h>int main(){int i, s = 0;for (i=1;i<101;i+=2)s+=i * (i+1) * (i+2);printf("%d\n", s);return 0;}

8、用循环语句实现以下图形。(注意图形总体位置)

# include <stdio.h>int main(){int i, j, k;for (i=1;i<=4;i++){for (j=1;j<=4-i;j++)printf(" ");for (k=1;k<=9;k++)printf("*");printf("\n");}return 0;}

9.猴子第一天摘下若干个桃子,当即吃了一半,然后又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个,以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少个桃子?

# include <stdio.h>int main(){int i, s = 1;for (i=1;i<10;i++)s = (s+1) * 2;printf("%d\n", s);return 0;}

10.`求2000-6000之间,求闰年的总个数。

# include <stdio.h>int main(){int i, s = 0;for (i=2000;i<=6000;i++){if((i%4==0&&i%100!=0)||(i%400==0))s++;}printf("%d\n", s);return 0;}

11.计算并输出1-200之间不能被5整除的整数的和。

# include <stdio.h>int main(){int i, s = 0;for (i=1;i<=200;i++){if (i%5!=0)s+=i;}printf("%d\n", s);return 0;}

12.获得所有四位数中能被3整除且个位与百位数字相等且十位数字为奇数的数,并求出它们的和。(由小到大输出每个满足要求的数,每个数占一行,最后一个为所有满足要求的数的和)

# include <stdio.h>int main(){int i, j, k, l, s = 0;for (i=1000;i<10000;i++){if (i%3==0){j = i%1000/100;k = i%1000%100/10;l = i%1000%100%10;if ((j==l)&&(k%2!=0)){s = s + i;printf("%d\n", i);}}}printf("%d\n", s);return 0;}

13.一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6 = 1+2+3,找出10000以内的所有完数。(每一个占一行最后有空行)

# include <stdio.h>int main(){int i, j, s;for (i=3;i<=10000;i++){s = 1;for(j=2;j<i;j++)if (i%j==0)s = s + j;if (i==s)printf("%d\n", i);}return 0;}

14:编写程序,根据输入n的值输出图形:

例如:

5

*

*

# include <stdio.h>int main(){int i, j, k, a, b, c, n;scanf("%d", &n);for (i=1;i<=n;i++){for (j=1;j<=n-i;j++)printf(" ");for (k=1;k<=2*i-1;k++)printf("*");printf("\n");}for (a=n-1;a>=1;a--){for (b=1;b<=n-a;b++)printf(" ");for (c=1;c<=2*a-1;c++)printf("*");printf("\n");}return 0;}

15、整型数组array中的元素值已按非递减有序排列,数组array有七个元素,分别为12,23,34,45,56,67,在读入一个待插入的整数x,将x插入数组中,使array数组中的元素仍然保持非递减有序排列,并输出此非递减排列(每个数占5字符宽度)。

# include <stdio.h>int main(){int a[7]={12,23,34,45,56,67}, x, i, j;scanf("%d", &x);for (i=0;i<=5;i++)if (x<a[i]){for (j=6;j>=i+1;j--)a[6] = a[j-1];a[i] = x;break;}for (i=0;i<=6;i++)printf("%d\t", a[i]);return 0;}

16、编写程序判断一个输入的整数是否为素数,是则输出yes,不是则输出no。

# include <stdio.h>int main(){int i, n, s = 0;scanf("%d", &n);for (i=2;i<n;i++){if (n%i==0)s++;}if(s==0)printf("yes\n");else printf("no\n");return 0;}

17、编写程序,将输入的一个小写字母转换为其对应的大写字母,并将转换后的结果输出。

# include <stdio.h>int main(){char i;scanf("%c", &i);i = i - 32;printf("%c\n", i);return 0;}

18、编写一个程序,输a、b两个值,结果按从大到小的顺序输出两个数以空格隔开。

# include <stdio.h>int main(){int a, b;scanf("%d%d", &a,&b);if (a>b)printf("%d %d\n", a, b);elseprintf("%d %d\n", b, a);return 0;}

19、编写程序输出100-200之间的全部素数(一个占一行)。

# include <stdio.h>int main(){int i, j;for (i=100;i<=200;i++){for (j=2;j<i;j++){if (i%j==0)break;}if (i==j)printf("%d\n", i);}return 0;}

20、编写一个程序,输a、b两个值,结果按从小到大的顺序输出。

# include <stdio.h>int main(){int a, b, t;scanf("%d%d", &a, &b);if (a>b){t = a;a = b;b = t;}printf("%d %d\n", a, b);return 0;}

21.输出九九口诀表(九行九列,每一个格式为1*1=1,使用制表符定位,共九行九列)。

# include <stdio.h>int main(){int i, j;for (i=1;i<=9;i++){for (j=1;j<=i;j++)printf("%d*%d=%d\t", j, i, i*j);printf("\n");}return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。