2019年C语言期末考试题及答案

更新时间:2023-12-18 11:45:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1、给定n个数据, 求最小值出现的位置(如果最小值 出现多次,求出第一次出现的位置即可)。

最大值 第三行i<=n五行k+1

2、编写程序求无理数e的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n! 当1/n!<0.000001时e=2.718282。

3、求一批数中最大值和最小值的积。

4、某一正数的值保留2位小数,对第三位进行四舍 五入。

5、从键盘上输入任意实数x,求出其所对应的函数值。 z=(x-4)的二次幂(x>4) z=x的八次幂(x>-4) z=z=4/(x*(x+1))(x>-10)

z=|x|+20(其他)

6、求出N×M整型数组的最大元素及其所在的行坐标 及列坐标(如果最大元素不唯一,选择位置在最前面

的一个)。

例如:输入的数组为: 1 2 3 4 15 6

12 18 9 10 11 2

求出的最大数为18,行坐标为2,列坐标为1。

7、求一个n位自然数的各位数字的积。(n 是小于10的 自然数)

8、计算n门课程的平均值,计算结果作为函数值返回。 例如:若有5门课程的成绩是:92,76,69,58,88, 则函数的值为76.599998。

9、求一批数中小于平均值的数的个数。

10、编写函数判断一个整数m的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。调用该函数找出

100~200之间满足条件的所有数。

11、请编一个函数void fun(int tt[M][N],int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列 中最大元素,并依次放入pp所指一维数组中。二维

数组中的数已在主函数中赋予。

12、编写函数fun用比较法对主程序中用户输入的具有10 个数据的数组a按由大到小排序,并在主程序中输出

排序结果。

13、编写main程序调用函数fact求解从m个元素选n个元

素的组合数的个数。计算公式是:组合数=m!/(n!.(m-n)!)。要求:m不能小于n,否则应有容错处理。 说明:函数fact(x)的功能是求x!。

14、找出一批正整数中的最大的偶数。

15、实现两个整数的交换。

例如:给a和b分别输入:60和65,输入为:a=65 b=60

16、将字符串中的小写字母转换为对应的大写字母, 其它字符不变。

17、求一个四位数的各位数字的立方和。

18、求一组数中大于平均值的数的个数。

例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函

数值为3。

19、对任意输入的 x,用下式计算并输出 y 的值。 5 x<10

y= 0 x=10 -5 x>10

20、求给定正整数m以内的素数之和。 例如:当m=20时,函数值为77。

21、判断整数x是否是同构数。若是同构数,函数返回1;

否则返回0。x的值由主函数从键盘读入,要求不大 于100。

22、用函数求N个[10,60]上的整数中能被5整除的最大

的数,存在则返回这个最大值,如果不存在则返回0。

23、编写函数fun求sum=d+dd+ddd+……+dd...d(n个d),

其中d为1-9的数字。

例如:3+33+333+3333+33333(此时d=3,n=5),d和n在主函

数中输入。

24、编写函数fun将一个数组中的值按逆序存放,并在 main()函数中输出。

例如:原来存顺序为8,6,5,4,1。要求改为:1,4,5,6,8。

25、对长度为8个字符的字符串,将8个字符按降序排列。 例如:原来的字符串为CEAedcab,排序后输出为edcbaECA

26、根据整型参数n,计算如图公式的值。

27、键盘上输入一个3行3列矩阵的各个元素的值(为整数) 然后输出主对角线元素的积,并在fun()函数中输出。

28、编写函数fun(str,i,n),从字符串str中删除第i个 字符开始的连续n个字符(注意:str[0]代表字符串

的第一个字符)。

29、统计出若干个学生的平均成绩,最高分以及得最高 分的人数。

例如:输入10名学生的成绩分别为92,87,68,56,92, 84,67,75,92,66,则输出平均成绩为77.9, 最高分为92,得最高分的人数为3人。

30、编写程序,实现矩阵(3行3列)的转置(即行列互换)

31、用函数实现字符串的复制, 不允许用strcpy()函数。

32、从键盘为一维整型数组输入10个整数,调用fun

函数找出其中最小的数,并在main函数中输出。 请编写fun函数。

33、用do-while语句求1~100的累计和

34、编写函数求1~100中奇数的平方和。结果为166650

35、计算并输出给定整数的所有因子之积(包括自身)。

规定这个整数的值不大于50。

36、求1到100之间的偶数之积

37、编写函数求表达式的和(n的值由主函数输入)。 1-1/2+1/3-1/4+......+1/m

38、产生20个[30,120]上的随机整数放入二维数组

a[5][4]中, 求其中的最小值。

39、能计算从1开始到n的自然数的和,n由键盘输入,

并在main()函数中输出。

当N为偶第三行i=2i=i+2

第四行i*i

41、计算出k以内最大的10个能被13或17整除的自然数之

和。(k〈3000)

42、判断一个整数w的各位数字平方之和能否被5整除,

可以被5整除则返回1,否则返回0。

43、从低位开始取出长整型变量s奇数位上的数,依次 构成一个新数放在t中。

例如:当s中的数为:7654321时,t中的数为:7531。

如果为642,在第二行加,s/=10;

44、求大于lim(lim小于100的整数)并且小于100的所

有素数并放在aa数组中,该函数返回所求出素数的

个数。

45、求一批数中最大值和最小值的差

如为积将-改*

46、求出菲波那契数列的前一项与后一项之比的极限的 近似值。

例如:当误差为0.0001时,函数值为0.618056。

47、将两个两位数的正整数a、b合并形成一个整数放在c

中。合并的方式是: 将a数的十位和个位数依次放在c数 的个位和百位上, b数的十位和个位数依次放在c数的十位 和千位上。例如:当a=45,b=12,调用该函数后,c=2514。答案;

48、编写函数判断一个整数m的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。调用该函数找出 100~200之间满足条件的所有数。

49、判断m是否为素数

50、给定n个数据, 求最小值出现的位置(如果最小值

出现多次,求出第一次出现的位置即可)。

51、求出二维数组周边元素之和,作为函数值返回。二

维数组的值在主函数中赋予。

52、编写函数实现两个数据的交换,在主函数中输入任

意三个数据,调用函数对这三个数据从大到小排序。

53、编写函数判断一个整数能否同时被3和5整除,若能

则返回值为1,否则为0。调用该函数求出15~300之

间能同时被3和5整除的数的个数。

54、编写函数fun,求任一整数m的n次方

55、从键盘输入一个大于3的整数,调用函数fun判断 其是否素数,然后在main函数中输出相应的结论 信息。例如:7是素数,8不是素数。请编写fun 函数。素数是仅能被1和自身整除的数

56、用辗转相除法求两个整数的最大公约数

57、求一批数中小于平均值的数的个数

58、编写函数用选择排序法对数组中的数据进行从小到

大的排序。

59、从键盘为一维整型数组输入10个整数,调用fun函数

找出其中最小的数,并在main函数中输出。

60、将从键盘上输入的每个单词的第一个字母转换为大写 字母,输入时各单词必须用空格隔开,用’.’结束输入

61、编写函数fun求1!+2!+3!+ …… +n!的和,在main函 数中由键盘输入n值,并输出运算结果。请编写fun函数。例如:若n值为5,则结果为153

62、根据整型形参m,计算如下公式的值:y=sin(m)*10。例如:若m=9,则应输出:4.121185

63、求一个大于10的n位整数的后n-1位的数,并作为函 数值返回。

64、求给定正整数m以内的素数之和。 例如:当m=20时,函数值为77。

65、求给定正整数n以内的素数之积。(n<28)

66、求一个给定字符串中的字母的个数。

68、编写程序, 求矩阵(3行3列)与2的乘积

例如:输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 200 400 600

800 1000 1200 1400 1600 1800

69、编写函数fun用比较法对主程序中用户输入的具有10 个数据的数组a按由大到小排序,并在主程序中输出 排序结果。

70、编写函数fun计算下列分段函数的值: x^2+x+6 x<0且x≠-3

f(x)= x^2-5x+6 0≤x<10且x≠2及x≠3 x^2-x-1 其它

71、用函数将第2个串连接到第1个串之后,不允许使用 strcat函数。

72、求一组数中大于平均值的数的个数。

例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函 数值为3。

73、编写函数用冒泡排序法对数组中的数据进行从小到 大的排序。

74、将两个两位数的正整数a、b合并形成一个整数放在c 中。合并的方式是:将a数的十位和个位数依次放在 c数的千位和十位上, b数的十位和个位数依次放在 c数的个位和百位上。

例如:当a=45,b=12。调用该函数后,c=4251。

75、对某一正数的值保留2位小数,并对第三位进行四舍 五入。

79、找出一个大于给定整数且紧随这个整数的素数,并

作为函数值返回。

80、用函数求fibonacci数列前n项的和。

说明:fibonacci数列为数列的第一项值为1,第二项值也为1,从第三项开始,每一项均为其前面相邻两项和。 例如:当n=28时,运行结果:832039

81、删除所有值为y的元素。数组元素中的值和y的值由主函数

通过键盘输入

82功能:求一分数序列2/1,3/2,5/3,8/5,13/8,21/13… 的前n项之和。

说明:每一分数的分母是前两项的分母之和,每一分数的 分子是前两项的分子之和

例如:求前20项之和的值为32.660259。

int i;

float f1=1,f2=1,f3,s=0; for(i=1;i<=n;i++) {f3=f1+f2; f1=f2; f2=f3; s=s=f2/f1;} return s;

83功能:从键盘上输入任意实数,求出其所对应的函数值。 z=e的x次幂(x>10) z=log(x+3) (x>-3) z=sin(x)/((cos(x)+4) 答案:double z; If(x>10)z=log(x+3) else if(x > -3)z=log(x+3); else z=sin(x)/(cos(x)+4); return(z);

84题目:用函数求一个N阶方阵右下三角元素的和(包括副 对角线上的元素)。 int I,j,k=0; for(i=0;i

k=k+a[i][j]; return(k);

85功能:用函数实现字符串的复制, 不允许用strcpy()函数。 int i;

for(i=0;str1[i]!=’\\0’;i++)

str2[i]=str1[i]; str2[i]=’\\0’

86功能:将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 inti;

for(i=0;str[i]!=’\\0’;i++) if(str[i]>=’a’&&str[i]<=’z’) str[i]=str[i]-32

87功能:编写函数fun其功能是:根据整型形参m,计算如下 公式的值:y=1/2!+1/4!+...+1/m!(m是偶数) int I,j;

double s=1; for(i=2;i<=m;i+=2) {for(j=i-1;j<=I;j++) s=s*j; y=y+1.0/s; } return y ;

88功能:能计算从1开始到n的自然数中偶数的平方的和,n由 键盘输入,并在main()函数中输出。(n是偶数) int sum,I; sum=0; for(i=2;i<=n;i=i+2) { sum=sum+i*I;} return(sum)

89功能:根据整型形参m,计算如下公式的值: y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5)

例如:若m=9,则应输出:1.168229 double y=0; int I;

for(i=0;i<=m;i++) {y+=1.0/(i+5);} Return(y);

90功能:编写函数fun求一个字符串的长度,在main函数中 输入字符串,并输出其长度。 char *p; int n=0; p=p1; while(*p++) n++; return n;

本文来源:https://www.bwwdw.com/article/alt5.html

Top