C语言程序设计上机考试题目汇编1、编写程序对ss字符中所有下标为奇数位置上的字母为大写2、编写程序对指定字符在字符串a中出现的次数进行统计,统计的数据存到b数组中。其中:字符'A'出现的次数存放到b[0]中,字符'B'出现的次数存放到b[1]中,字符'C'出现的次数存放到b[2]中,字符'D'出现的次数存放到b[3]中,字符'E'出现的次数存放到b[4]中,其它字符出现的次数存到b[5]中。例如,当a中的字符串为:VISUA-BASIC,调用该函数后,b中存放数据应是:2、1、1、0、0、7。3、编写程序把在字符串s中出现的每个字符,紧随其后重复出现一次,形成一个新串放在t中。例如:当s中的字符串为:12345时,则t中的字符串应为:1122334455。4、从键盘读入N(N小于10),按下面格式输出1222N-1..N-1..N-1N...N...N...N...NN-1..N-1..N-122215、输入n值(n=26),输出如下图形:共有n行………………第n行DDDDDDDCCCCCBBB第2行A第1行6、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。7、给定程序的功能是求出1到1000之内能被7或11整除但不能同时被7和11整除的所有整数放在数组a中,通过n返回这些数的个数。8、函数fun的功能是:把a数组中的n个数、和b数组中逆序的n个数一一对应相减的结果,与a数组中的n个数、和b数组中逆序的n个数一一对应相加的结果相乘,结果存在c数组中。如:当a数组中的值是:1、3、5、7、8,b数组中的值是:2、3、4、5、8调用该函数后,c中存放的数据是:-63、-16、9、40、609、编写程序对n个人员的考试成绩进行分段统计,考试成绩放在a数组中,各分数段的人数存到b数组中:成绩为60到69的人数存到b[0]中,成绩为70到79的人数存到b[1],成绩为80到89的人数存到b[2],成绩为90到99的人数存到b[3],成绩为100的人数存到b[4],成绩为60分以下的人数存到b[5]中。例如,当a数组中的数据是:93、85、77、68、59、43、94、75、98。调用该函数后,b数组中存放的数据应是:1、2、1、3、0、2。10、编程打印以下图案。************************11、给定程序的功能是对a数组中n个人员的工资进行分段统计,各段的人数存到b数组中;工资为1000元以下的人数存到b[0]中,工资为1000元到1999元的人数存到b[1],工资为2000元到2999元的人数存到b[2],工资为3000元到3999元的人数存到b[3],工资为4000元到4999元的人数存到b[4],工资为5000元以上的人数存到b[5]中。例如,当a数组中的数据为:900、1800、2700、3800、5900、3300、2400、7500、3800,调用该函数后,b中存放的数据应是:1、1、2、3、0、2。12、编写程序,实现矩阵(3行3列)的转置(即行列互换)例如,输入下面的矩阵:100200300400500600700800900程序输出:10040070020050080030060090013、下面程序中函数fun的功能是:根据整型形参m,计算如下公式的值:y=1+1/2!+1/3!+1/4!+...+1/m!例如:若m=6,则应输出:1.718056。14、统计在TT字符串中'A'到'Z'26个字母各自现的次数,并存入a数组15、按如下格式打印100以内整数的平方根表。950.9899.9849.9798.9747.9695.9644.9592.9539.9487.99434.9381.9327.9274.9220.9165.9110.9055.9000.9944.88888.8832.8775.8718.8660.8602.8544.8485.8426.8367.87307.8246.8185.8124.8062.8000.8937.7874.7810.7746.76681.7616.7550.7483.7416.7348.7280.7211.7141.7071.75000.7928.6856.6782.6708.6633.6557.6481.6403.6325.64245.6164.6083.6000.6916.5831.5745.5657.5568.5477.53385.5292.5196.5099.5000.5899.4796.4690.4583.4472.42359.4243.4123.4000.4873.3742.3606.3464.3317.3162.31000.3828.2646.2449.2236.2000.2732.1414.1000.1000.00987654321016、编程求a数组中奇数的个数odd,偶数的个数even,平均值aver以及方差totfc的值,计算方差的公式如下:17、从3个红球(x),5个白球(y),6个黑球(z)中任意取出8个,并且必须要有红球和白球。请编写程序,输出所有方案。2222)][(....)]1[(aver]0[1avernaaveraans18、编写程序将字符串中的数字字符删除后输出。如字符为”china123df”,则输出为”chinadf”19、目前世界人口是60亿,如每年按1.5%的比例增长,则多少年后是100亿?20、一球从80米的高度自由下落,每次落地后返回原高度的一半,再落下。它在第10次落地时共经过多少米?第10次反弹多高?21、求s=x+xx+xxx+xxx+xxxxx+xx……x的值,其中x是一个数字。例如2+22+222+2222+22222,此时共有5个数相加),输入x及相加的个数n,计算s的值22、编写程序求表达式n项的和,n由键盘输入,例如n=4,则是求的和。23、有8,3,5,2共4个数字,能组成多少个互不相同并且无重复数字的四位数?都是多少?24、编写一个程序,把输入的一个字符串中的所有数字提取出来,例如输入”a123b3dw54”则输入123,3,54等字符串25、数组a中存放10个非0整数,编写程序,将数组a中的所有正数存放在数组的前面,负数存放在数组的后面。26、编写程序实现输入整数n,输出如下所示由数字组成的菱形。(图中n=5)1121123211234321123454321123432112321121127、输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。28、编写程序,输入字符串s1和s2以及插入位置f,在字符串s1中的指定位置f处插入字符串s2。如:输入BEIJING、123和位置3,则输出:BEI123JING123。29、打印以下图案:30、编写程序:使之具有如下功能:fun函数是一个判断整数是否为素数的函数,使用该函数求1000以内的素数平均值31、编程计算1!+2!+3!+4!+….+10!的值。32、将一个数的数码倒过来所得到的新数,叫作原数的反序数,如果一个数等于它的反序数,则称它为对称数。例如十进制数121就是一个十进制的对称数。编写程序求不超过1993的最大的二进制的对称数。33、对数组A中的N(0N100)个整数从小到大进行连续编号,要求不能改变数组A中元素的顺序,且相同的整数要具有相同的编号。例如:数组是A=(5,3,4,7,3,5,6)则输出为:(3,1,2,5,1,3,4)34、10名学生的数学成绩保存于数组a中,即:inta[]={63,89,85,85,95,25,59,75,79,95}请进行排序,然后输出结果如下:[提示:由大到小排序,需考虑成绩相同的情况]。35、编写程序:输入5名同学的英语、数学2门课的成绩,然后输出5名同学的总分(由小到大)。36、编程判断输入的一串字符是否为“回文”。所谓“回文”就是指顺读和倒读都一样的字符串,例如level、ABCCBA都是回文。37、向一个有序整型数组插入一个整数,插入完以后仍然是有序数组。38、输入5×5的矩阵,编程实现:(1)求两条对角线上的各元素之和;(2)求所有元素的平均值;第1名95分第1名95分第2名89分第3名85分第3名85分…………..第10名25分39、编写程序:从键盘输入4个字符串(长度20),存入二维字符数组中。然后对它们进行排序(假设由小到大顺序),最后输出排序后的4个字符串。(允许使用字符串函数)40、编程打印如下形式的杨辉三角形[提示:用二维数组存放杨辉三角形中的数据,这些数据的特点为:第0列全为1,对角线上的元素全为1,其余的左下角元素a[i][j]=a[i-1][j-1]+a[i-1][j]。]41、给定程序中请编写函数fun,其功能是求两个整数的最大公约数。例:输入两个数8,12,则输出的最大公约数是4。程序:#includestdio.hfun(intx,inty){}main(){intx,y,z;printf(请输入两个数x,y:);scanf(%d,%d,&x,&y);printf(x=%d,y=%d\n,x,y);z=fun(x,y);printf(%d,%d的最大公约数是:%d,x,y,z);}1111211331146411510105142、使用指针自己编写strcpy字符串复制函数。43、求a[3][4]={{1,4,78,21},{10,23,45,8},{7,4,12,74}}的所有元素之和。44、用循环语句打印出如下图形:45、打印华氏温度与摄氏温度对照表计算公式:C=(5/9)(F-32)46、输入一个大于2的数,判断是否是素数47、编写程序输出2到100以内的素数48、用5元,2元,1元组成100元,有什么样的组合,打印出所有的组合49、有10个学生,学习6门课程,已知所有学生全部课程的成绩,要求输出每门课程的最高分,平均分.50、输入一个字符串,把它反向输出51、设计一个数组inta[5][6],用随机函数为每个元素赋值,统计偶数元素的个数,并打印出这些偶数及其位置。stdlib.hrand%3052、输入一个字符串,把其中的所有小写字母变成对应的大写字母,其余不变。53、编写一个判断闰年的函数,然后调用它打印出1900~5000年的所有闰年,每行打印5个54、编写一个函数,输入n为偶数时,调用函数求1/2+1/4+1/6…..+1/n,当输入n为奇数时,调用函数求1/1+1/3+1/5…+1/n55、编写程序,要求:(1)设计一个对整数数组inta[]进行从小到大排序的函数sort:voidsort(int*a,intn)(2)排序采用冒泡排序算法。(3)在main主函数中调用sort函数,并把全部已经排序的数组元素显示出来。#includestdio.hvoidsort(int*a,intn){}main(){}56、设有5个学生,每个学生考3门课,编写程序检查这些学生有无考试不及格的课程,若某一学生有一门或一门以上的课程不及格,请输该学生的序号(序号从0开始)和全部课程成绩。57、已知abc+cba=1333,a,b和c都是一位数字,求出所有可能的解58、爱因斯坦数学题。爱因斯坦曾出过这样一道数学题:有一条长阶梯,若每步跨2阶,则最后剩下1阶,若每步跨3阶,则最后剩下2阶,若每步跨5阶,则最后剩下4阶,若每步跨6阶,则最后剩下5阶,只有每步跨7阶,最后才正好1阶不剩。请问,这条阶梯共有多少阶?59、在一个整数数组a[11]={1,3,0,5,6,-4,5,6,-9,-2,1}中有正数、负数与0,试移动数组值把整数全部放右边,负数放在左边,0放在中间。60、已知数组,请编写程序,最大的元素与第一个元素交换,最小的元素与最后一个元素交换,输出数组。