当前位置:文档之家› C语言上机考试题目

C语言上机考试题目

1、编写一个C 程序,比较任意三个整数的大小,然后输出其中的最大值。

方法不限。

2、计算圆的面积和周长。

要求:使用符号常量定义圆周率为3.14。

3、输入某学生三个科目的期末考试成绩,计算出该学生的成绩总分和平均分。

要求:有输入数据和输出结果的提示。

4、输入三角形的三边长,求三角形的面积。

三角形的三边长用变量a,b,c, 其中s=(a+b+c)/2。

提示:求某个数x 的平方根函数为sqrt(x),当直接用此函数时,需要在main 函数上面加入头文件:math.h 。

5、输入一个四位的正整数(如果不是,提示“输入错误”),对其个、十、百、千位四位数字求和并实现个位数与百位数、十位数与千位数的互换然后将这个数输出。

例如,输入一个四位正整数1234,通过你的程序,如何输出和10以及新的数3412。

6、求ax 2+b x+c=0方程的根。

a ,b ,c 由键盘输入。

提示:众所周知,一元二次方程式的根为:x1= x2= 可以将上面的分式分为两项:p= ,q= x1=p+q, x2=p -q 。

注意:在b 2-4ac>0的条件下,才可以求方程的根,否则提示a,b,c 的值输入错误。

7、输入三角形的三条边长,判断能否构成三角形,若能输出YES 并且输出三角形的面积,若不能则输出NO 。

8、任意输入三个整型数,要求按照从大到小的顺序输出。

9、从键盘输入一个四位数的年份,判断其是否为闰年。

aac b b 242-+-a ac b b 242---a b 2-aac b 242-10、有一个函数:写出程序,输入x的值,输出对应的y的值。

要求加上相应的文字说明。

11、编程实现大小字母的转换。

从键盘输入一个字符,要求使用getchar()函数读入字符。

如果输入的是一个小写字母,转换为大写字母;如果输入的是一个大写字吗,转换为小写字母;如果输入的是一个非字母符号,照原样输出。

要求有文字说明。

12、判断从键盘输入的是数字字符、大写字母、小写字母、空格还是其他字符。

13、指定一个年龄,要求按照年龄阶段输出相应的时期:1到7是幼年,8到14是童年,15到21是少年,22到28是青年,29到49是中年,50到70是老年。

14、编写程序,将1至7中的任意一个数字转化成对应的英文星期几的前三个字母,如1转化为Mon,7转化为Sun等。

15、在屏幕上显示一张如下所示的时间表:*****Time*****1 morning2 afternoon3 nightPlease enter your choice:操作人员根据提示进行选择,程序根据输入的时间序号显示相应的问候信息,选择1时显示“good morning”, 选择2时显示“good afternoon”, 选择3时显示“good night”, 对于其他选择显示“selection error!”。

16、编程实现:从键盘输入的若干字符中,用换行结束输入,统计出小写字母的个数,大写字母的个数,以及其他字符的个数。

17、编写程序,计算1+3+5+7+…+99的值。

18、编写程序,计算5!的值。

19、给出一个大于或等于3的正整数,判断它是不是一个素数。

20、将100-200之间的素数输出。

21、打印所有的“水仙花数”。

所谓“水仙花数”,是指一个三位数,其各位数字的立方和等于该数本身。

例如:153是“水仙花数”,因为153=13+33+53。

22、鸡兔同笼,共有98个头,386只脚,编写程序,计算鸡、兔各多少只?23、公鸡每只5元,母鸡每只3元,小鸡3只1元。

用100元买100只鸡,编写程序,计算公鸡、母鸡、小鸡各能买多少只?24、输出100以内(不含100)能被3整除且个位数为6的所有整数。

25、求100内200之间的3的倍数的累加和并输出这些数。

26、韩信点兵。

韩信有一队兵,他想知道有多少人,便让士兵排队报数。

按从1至5报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵报的数为5;按从1至7报数,最末一个士兵报的数为4;最后再按从1至11报数,最末一个士兵报的数为10。

你知道韩信至少有多少兵马?27、爱因斯坦数学题。

爱因斯坦曾出过这样一道数学题:有一条长阶梯,若每步跨2阶,最后剩下1阶;若每步跨3阶,最后剩下2阶;若每步跨5阶,最后剩下4阶;若每步跨6阶,最后剩下5阶;只有每步跨7阶,最后才正好1阶不剩。

请问,这条阶梯共有多少阶?28、编写程序:对100个数组元素依次赋值为:0, 2, 4……198,要求按逆序输出,并且每行输出10个数字。

29、计算出斐波那契(fibonacci)数列前25项, 要求一行打印5个数。

30、计算数组x[10]={46,30,32,40,6,17,45,15,48,26}中10个数的和与平均值。

31、输出数组x[10]={46,30,32,40,6,17,45,15,48,26}中的最大值。

32、输出数组x[10]={46,30,32,40,6,17,45,15,48,26}中的最小值。

33、编写程序:采用冒泡排序,对序列6, 5, 9, 4, 13, 1, 8按从大到小的顺序排列输出,要求每个数占6位,并且左对齐输出。

34、编写程序,逆置数组a[]={1,2,3,4,5,6,7,8,9}中的元素,逆置后,数组中的元素依次为9, 8, 7, 6, 5, 4, 3, 2, 1。

35、编写程序,将数组a[]={1,2,3,4,5}中的元素依次向后移动一位,移动后数组中的元素为:5,1,2,3,4。

36、把a数组中的偶数从数组中删除,奇数按原顺序依次存放到a[0]、a[1]、a[2]…中,最后输出数组a。

例如,若a数组中的数据最初排序为:9、1、4、2、3、6、5、8、7,删除偶数后数组中的数据为:9、1、3、5、7。

37、编写程序:求一个3*3矩阵主对角线元素之和。

38、编写程序:输出杨辉三角形(要求输出6行)。

杨辉三角有以下特点:各行第一个数都是1。

各行最后一个数都是1。

从第3行起,除上面指出的第一个数和最后一个数外,其余各数是上一行同列和前一列两个数之和。

39、编写程序,在4×4的二维数组中存放如下所示规律的数据。

40、编写程序,从键盘输入9个整数存入3×3矩阵中,计算每行元素的最大值,并按顺序依次存放于一维数组b中。

41、编写程序,从键盘输入9个整数存入3×3矩阵中,计算每列元素的最小值,并按顺序依次存放于一维数组a中。

42、从键盘上输入任意的一个字符串,将其中的小写字母转为大写字母,大写字母转为小写字母,其他字符不变。

43、从键盘上输入两个字符串,然后将两个字符串连接起来,不要使用strcat函数。

44、从键盘上对s字符串初始化,然后把s字符串中的内容逆置输出。

例如,s原有的字符串为:abcdefg,逆置后,串中的内容为:gfedcba。

45、从键盘上输入任意的一个字符串,求其长度。

46、从键盘上输入任意的一个字符串,用字符数组存储,将其复制到另外一个字符数组当中然后输出,实现字符串的复制。

47、利用函数调用,编写程序,程序运行结果如下图所示:提示:定义两个无返回值函数,在主函数中调用这两个子函数实现程序。

48、编写一个程序,用来实现求任意两个数的和、差。

49、编写一个程序,用来实现求任意两个数的最大值和最小值。

50、编写一个函数,该函数功能:判断一个整数是否是偶数。

51、编写两个函数,这两个函数功能分别为:计算圆的周长和面积。

52、编写一个函数,该函数功能:判断一个整数能否同时被3、5、7整除。

53、主函数已给,请编写子函数fun ,其功能是:计算并输出下列多项式的值:S n =1+12+13+⋯1100例如:,在主函数中从键盘给n 输入15,则输出为:s=3.318229。

注意:要求n 的值大于1但不大于100.void main( ){int n;double s;scanf(“%d”, &n);s=fun(n);printf(“s=%f\n”,s);}54、主函数已给,请编写子函数fun ,其功能是:计算并输出下列多项式的值:11111...1!2!3!!n s n =+++++ 例如:,在主函数中从键盘给n 输入15,则输出为:s=2.728282。

注意:要求n 的值大于1但不大于100.void main( ){int n;double s;scanf(“%d”, &n);s=fun(n);printf(“s=%f\n”,s);}55、主函数已给,请编写子函数fun,计算如下公式的值。

1111+++++1...m m2*23*34*4*如,若n中的值为:5,则应输出:1.463611。

void main(){int n;double m;scanf(“%d\n”,n);m=fun(n);printf(“\nthe result is %lf\n”,m);}56、请设计一递归函数实现n!,在主函数中输入一个整数,输出该整数的阶乘。

注意缩进和必要的注释。

相关主题