上 机 考 试 题 目(共65题)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上 机 考 试 题 目(共65题)
请同学们务必认真审题,按题目要求编写程序!
1. 输入一整数,输出各位数字之和。如输入6228,则输出6+2+2+8=18。
2. m个人的成绩存放在score数组中,编写函数int fun(int score[ ],int below[ ]),功能是将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。如score数组中的数据为:10、20、30、40、50、60、70、80、90时,函数返回的人数应该是4,below中的数据应为:10、20、30、40。
3. 编写程序,n个人围成一圈,从第1个人开始顺序报号1、2、3。凡报到“3”者退出圈子。找出最后留在圈子中的人原来的序号。要求在main函数中输入n,最后输出结果。
4. 编写程序,从用户输入的4个整数中找出最大值和最小值。
5. 编写程序,打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153=1^3+5^3+3^3。
6. 编写程序,能实现输入10个数,将其中的最大值以及平均值输出。
7. 编写程序,判断一个整数是否是素数,在main函数输入一个整数,输出判断的结果为“Yes”还是“No”。
8. 编写程序,求1+3+5+7+...+195+197+199的和。
9. 编写程序,求2+4+6+...+96+98+100的和。
10. 编写程序,求出1至1000之间能被7或11整除、但不能同时被7和11整除的所有整数并将其存放在数组a中并输出。
11. 编写程序,求出数组的最大元素在数组中的下标并输出该值。如输入如下整数:876 675 896 101 301 401 980 431 451 ,则输出结果为6,980
12. 编写程序,求出字符串中指定字符的个数,并输出。例如,若输入字符串:a123gk412132,输入字符为:1,则输出:3。
13. 编写程序,实现从键盘输入n个整数,求该组整数的平均值,并将大于平均值的整数输出。
14. 编写程序,实现求1!+2!+...+10!。
15. 编写程序,输出100-200之间,能被3整除,但是不能被7整除的数。
16. 编写程序,用于统计从键盘输入的字符串中的小写字母的个数。
17. 编写函数 int fun(char *s1,char *s2),函数实现将两个字符串s1和s2比较,如果s1>s2,输出一个正数;s1=s2,输出0;s1
18. 编写函数 int f
un(int a [3][4]),实现求出一给定的3x4的矩阵中的最大元素。在main函数中输入二维数组,并输出函数求得的最大值。
19. 编写函数 void fun(char *p1,char *p2),实现两个字符串的连接(不能用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后面。例如,分别输入下面两个字符串:FirstString--和SecondString,程序输出:FirstString--SecondString。(必须用指针实现)
20. 编写函数 void fun(char *str),实现将字符串尾部的*号全部删除,前面的和中间的*号不删除。 例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:****A*BC*DEF*G。(必须用指针实现)
21. 编写函数 void fun(char* str),实现将str所指的字符串中最长的单词输出(在字符串中,单词之间用若干个空格分隔)。要求在main函数中输入字符串,调用fun函数。(必须用指针实现)
22. 编写函数void fun(char *str)实现将字符串中的前导*号全部移到字符串的尾部。 例如,字符串中的内容为:*******A*BC*DEF*G****移动后,字符串中的内容应当是: A*BC*DEF*G***********。(必须用指针实现)
23. 编写函数void fun(char *str)实现删除字符串中的所有*号。例如字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:ABCDEFG。(必须用指针实现)
24. 编写函数void fun(int xx[ ],int m,int k):将大于形参m且紧邻m的k个素数存入数组xx中。在main函数里输入m,k,如输入17,5则应输出:19,23,29,31,37。
25. 编写函数int fun(int *a,int n),n是数组中元素的个数,函数的功能是:删去一维数组中所有相同的数,只保留一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如,一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10。删除后,数组中的内容应该是:2 3 4 5 6 7 8 9 10。(必须用指针实现)
26. 编写函数int fun(char *str ,char *sub),该函数可以统计sub所指的长度为2的字符串在str字符串中出现的次数,例如,假定输入的字符串为:asd asasdfg asd as zx67 asd mklo,子串为:as,则应输出6。(必须用指针实现)
27. 编写函数int fun(char str[ ]),函数功能:判断字符串是否为回文?若是,函数返回1,main函数输出:YES;否则返回0,main函数输出:NO。回文是指顺读和倒读都一样的字符串。 例如:字符串LEVEL是回文,而字符串123321也是回文,abcab就不是回文。
28. 编写函数int fun(int a[ ]),在main函数中从键盘输入若干个整数放入数组中,用0结束输入,并放在最后一个元素中,调用fun函数,计算数组元素中值为正整数的平均值,并返回平均值。
29. 编写函数int
fun(char str[ ],char ch),实现在字符串str中寻找字符ch最后出现的位置,如果没有找到ch,则返回-1。在main函数中输入字符串str1和字符ch,然后输出查找到的结果。
30. 编写函数int fun(int n)判断一个数n是否完数,是返回1,不是返回0,完数定义:如果一个数等于其所有真因子(不含自身)之和,则该数为完数,例如6的真因子有1,2,3,且6=1+2+3,所以6是完数。要求在main函数中求出2~1000中所有的完数,并输出。
31. 编写函数int fun(int n,int a[ ]),求出小于或等于n的所有素数并放在a数组中,函数返回所求出的素数的个数。要求在main函数中输入n值,并输出数组a。
32. 编写函数void fun(char *s,char *t) ,实现将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。例如,若s所指字符串中的内容为:“ABCDEFG12345”,其中字符B的ASCII码值为偶数应删除,其他依次类推。最后t所指的数组中的内容为:“ACEG135”。(提示:'A’的ASCII值为65,'a'的ASCII值为97,'0’的ASCII值为48)(必须用指针实现)
33. 编写函数void fun(char *s,char *t),实现将s所指的字符串中ASCII值为奇数的字符删除,字符串中剩余字符形成一个新串放在t所指的数组中。例如:s所指的内容:ABCDEFG12345, 其中字符A的ASCII码为奇数…..、1的ASCII码为奇数…….,都应当删除,其他以此类推。最后t所指的数组中的内容:BDF24。 (提示:'A’的ASCII值为65,'a’的ASCII值为97,'0’的ASCII值为48)(必须用指针实现)
34. 编写函数void fun(char *str)实现只删除字符串前导和尾部的*号,串中间的*号都不删除。例如,字符串的内容为: ****A*BC*DEF*G*******。删除后,字符串中的内容应当是:A*BC*DEF*G。(必须用指针实现)
35. 编写函数void fun(char *a,char *b,int n),其功能是:删除一个字符串中指定下标的字符。其中,a指向原字符串,删除指定字符后的字符串存放在b所指的数组中,n中存放指定的下标。例如,输入一个字符串:World,然后输入3,则调用该函数后的结果为:Word。(必须用指针实现)
36. 编写函数void fun(char *ps, int pp[ ]),统计在ps所指字符串中'a‘到'z’ 26个小写字母各自出现的次数,并依次放在pp所指数组中。例如,当输入字符串:abcdefgabcdeabc后,程序的输出结果应该是:3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0。(必须用指针实现)
37. 编写函数void fun(char *s)功能:除了字符串前导的*号之外,将串中其他*号全部删除。 例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:****ABCDEFG。(必须用指针实现)
38. 编写函数void fun(char *s,
char *t),实现将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全部都删除;串中剩余字符所形成的一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为:“ABCDEFG123456”,其中字符A的ASCII码值为奇数,因此应当删除;其中字符B的ASCII码值为偶数,所在数组中的下标也为奇数,因此也应当删除,其它依次类推。最后t所指的数组中的内容应是:"246”。(提示:'A’的ASCII值为65,'a’的ASCII值为97,'0’的ASCII值为48),要求在main函数中输入s,调用fun函数后再输出s。(必须用指针实现)
39. 编写函数void fun(char s[ ]),其功能是:将s所指字符串中所有下标为奇数的位置上的字母转换为大写(若该位置上不是字母,则不转换)。例如,若输入“abc4EFg”,则应输出“aBc4EFg”。
40. 编写函数void fun(char s[ ],char t[ ]),将s所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在数组t中。如当s所指字符串中的内容为“ABCDEFGHIJK”,则数组t中的内容应是:“BDFHJ”。
41. 编写函数void fun(char s1[ ],int n,int m,char s2[ ]),求一个字符串的从第n个字符开始、长度为m的子串。要求在main函数中输入字符串s1,n,m,调用fun函数后,输出求得的子串。例如:字符串为abcdefgh,输入开始位置n:3,长度m:4,则输出结果为:cdef。
42. 编写函数void fun(char str[ ]),对长度为n个字符的字符串,除首、尾字符外,将其余n-2个字符按ASCII码降序排列。例如,CEA edca 排序后 CedcEAa。
43. 编写函数void fun(char str[ ]),函数功能是统计str字符串中字母、数字、空格和其它字符的个数并输出。在main函数中输入字符串。
44. 编写函数void fun(int *a,int n,int x),n为数组元素的个数,x为待插入的数值,函数功能:实现在一个已排好序的数组中插入一个新的数值,插入后此数组仍然要保持有序。在main函数中输入数组和待插入的数值,最后输出插入后的数组。(必须用指针实现)
45. 编写函数void fun(int a[ ],int m),在main函数中读入一个整数m(5≤m≤20),获得m个随机数,调用fun函数对这m个随机整数从小到大排序。在main函数中输出排序后的数组。
46. 编写函数void fun(int age[ ],int d[ ]),函数的功能是:统计各年龄段的人数。n个年龄通过调用随机函数获得,并放在main函数的age数组中;要求在main函数中定义一个数组d,使用fun函数把0至9岁年龄段的人数放在d[0]中,把10至19岁年龄段的人数放在d[1]中,把20至29岁年龄段的人数放在d[2]中,其余依此类推,最后把100岁(含100)以上年龄的人数都放在d[10]中。结果在main函数中输出。
47. 编写函数void fun(int m,in
t a[ ]),将1到m之间(含m)能被7或11整除的所有整数放在数组a中。在main函数中输入m,然后输出数组a。例如,若传送的m的值为50,则程序输出: 7 11 14 21 22 28 33 35 42 44 49。
48. 编写程序,计算并输出下式的和:S=1/(1*2)+1/(2*3)+...+1/(n*(n+1)),例如,当n=10时,函数值为0.909091。
49. 编写函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。
50. 编写函数void fun(long n),求任意一个小于65535的正整数n的逆序数,并判断该数是否为回文数,是输出“YES”,否则输出“NO”。在main函数中输入n。
51. 编一个函数void fun(char *s),函数功能是把s所指字符串中的内容逆置。例如,字符串中原有的字符串为:abcdefg,则调用该函数后,串中的内容为:gfedcba。(必须用指针实现)
52. 猜数游戏,假如设定一个整数m=123,然后让其他人从键盘输入所猜的数字,如果猜对,输出“Right”,如果猜错,则输出“Wrong”,并且指出设定的数字比输入的数字大(Too high)还是小(Too low)。
53. 从键盘输入10个整数,保存在一个数组中,将这10个数逆序输出并求和。
54. 给出一个不多于5位的正整数,要求:求出其位数,分别打印每一位数字,最后按逆序打印出这个正整数。如输入6582 ,输出为3, 6 5 8 2 ,2856
55. 某幼儿园只收2~6岁的小孩 ,2~3岁编入小班(small class),4岁编入中班(middle class),5~6岁编入大班(top class),编写程序实现每输入一个年龄。输出应编入什么班。
56. 请编写函数void fun(char *str,int m),函数的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符,平移到字符串的最后,把第m+1到最后的字符移动到字符串的前部。例如,字符串中原来的内容为:ABCDEFGHIJK,m的值为3,则移动后,字符串中的内容应该是DEFGHIJKABC。(必须用指针实现)
57. 求从键盘上输入的10个整数中的最大值,并求和。
58. 设计一个程序,从键盘输入三个整数,按由小到大的顺序输出。
59. 输入10个学生的成绩,求其平均值,输出最高成绩,并统计低于平均分的人数。
60. 输入n个学生的成绩,统计其中90分之上、70~89、60~69、小于60分的人数,并输出。当输入的成绩小于0时结束。
61. 输入一实数x和一整数n,求x+x^2+x^3+…+x^n的值。
62. 写一个函数int days(struct date x),根据main函数中输入的日期,计算出该日期是这一年中的第几天(从1月1日起计算,考虑如果是闰年的情况),返回得到的天数。在main函数中输出计算出的天数。
63. 写一函数void fun(char str[ ]),使一个字符串按
反序存放,在main函数中输入输出字符串。
64. 学生的记录由学号和成绩组成,6名学生的数据放在main函数中的结构体数组s中,编写函数float fun(struct student s[ ],struct student b[ ],int n)n为数组元素的个数,实现把大于等于平均分的学生数据放在b所指的数组中,平均分通过函数值返回。要求在main函数中定义数组s的同时进行初始化,最后在main函数中输出平均分和数组b。
65. 已知学生的记录由学号和学习成绩构成,n名学生的数据已存入结构体数组a中。请编写函数void fun(struct student stu[ ],struct student *low,int n)n为数组元素的个数,函数的功能是:找出成绩最低的学生记录,通过形参low返回main函数并输出。(规定只有一个最低分)。