C语言上机考试题目

C语言上机考试试题

1、编写一个程序,判定一个字符串是否是另一个字符串的子串,若是,返回子串在主串中的位置。要求:

(1)在主函数中输入两个字符串,调用子函数cmpsubstr()判断,并在主函数输出结果。 (2)子函数的返回值为-1表示未找到,否则返回子串的位置(起始下标)。

2、输入一个字符串,内有数字和非数字字符,如:a123x456 17960?302tab5876将其中连续的数字作为一个整数,依次存放到数组a中。例如,123放在a[0]中,456放在a[1]中等等,统计共有多少个正数,并输出这些数。要求:

(1)在主函数中输入字符串,输出结果。调用子程序处理字符串。 (2)子函数的返回值为-1表示为找到,否则返回子串的位置。

3、编写一个主函数和子函数tran(x, r),要求是:函数tran(x, r)将十进制整数x转换成r进制数y(r在2-16之间),x和r的值由主调函数(即主函数)传入,y的值需要返回主调函数进行输出。要求:y的值利用字符数组进行存储,数组的每一个元素存放y的一位数字字符。

4、编写一个主函数和函数tran(x),要求是:(1)函数tran(x)产生支付指定金额x(如234.78元)的各种面额人民币的数量(注意:尽量支付大面额的人民币),要求按100元、50元、10元、1元、5角、1角、5分、1分八种面额进行统计,产生的结果存放在数组中返回主函数。(2)在主函数中输入一金额,并以该金额调用tran函数,并输出该函数返回的统计结果。

5、编写一个主函数以及四个函数max(a, n)、min(a, n)、aver(a, n)和prime(m)。要求是:(1)函数max(a, n)、min(a, n)和aver(a, n)分别求出含有n个元素的数组a中的最大值、最小值和平均值,并返回结果到主调函数。(2)在主函数中输入10个[3,9999]之间的素数存放到数组中,要求通过调用函数prime对输入的数进行正确性限制,如果不符合要求,则返回0,否则返回1,保证输入10个[3,9999]之间的素数;然后分别调用max、min和aver函数,并输出返回的最大值、最小值和平均值。

6、编写一个主函数以及两个函数count(str)和maxlong(str)。要求是:(1)函数count(str)统计字符串str中包含的单词个数,并返回主调函数。(2)函数maxlong(str)找出字符串str中包含的最长单词(用字符数组进行存储),并返回主调函数。(3)在主函数中输入一个字符串,假定输入字符串中只含字母和空格,空格用来分割不同单词;以该字符串作为参数分别调用count和maxlong两个函数,并输出返回的结果。

7、编写一个程序模拟N个人参加选举的过程(N是一个符号常量),并输出选举结果。假设有四个候选人,编号分别为1、2、3、4,参与投票的人按四个候选人的顺序直接输入投票,投票的要求是:同意的输入1,不同意的输入-1,弃权的输入0,例如,输入0 1 -1 1表示对1、2、3、4四位候选者分别投的是弃权、同意、反对、同意。

要求:(1)单独编写一个函数input(x),x对应实参是一个含4个元素的一维数组,实现输入一个选举人对四个候选人的投票结果(并通过x返回给主调函数),需要控制投票时对每一个候选人只能输入1、0、-1三个数,如果输入其它的数,则要求重输;(2)主函数通过调用input函数输入一个选举人的投票结果;(3)如果一张选票中同意的个数大于2则视为无效票;最后,分别输出有效票、无效票的张数,并按得票数从高到底输出候选人编号和所得票数。

8、编写一个主函数以及两个函数fun1(m)和fun2(n)。要求是:

(1)任何一个正整数m的立方均可表示为m个连续奇数之和。例如: 13=1 23=3+5 33=7+9+11

43=13+15+17+19

>>展开全文<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4