1、1语言程序设计编成实训 100 题1m 个人的成绩存放在 score 数组中,请编写函数 fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在 below 所指的数组中。例如,当 score 数组中的数据为 10、20、30、40、50、60、70、80、90 时,函数返回的人数应该是 4,below 中的数据应为 10、20、30、40。*2请编写函数 fun,它的功能是:求出 1 到 1000 之内能被 7 或 11 整除、但不能同时被 7和 11 整除的所有整数并将它们放在 a 所指的数组中,通过 n 返回这些数的个数。*3请编写函数 void fun(int x
2、,int pp,int *n),它的功能是:求出能整除 x 且不是偶数的各整数,并按从小到大的顺序放在 pp 所指的数组中,这些除数的个数通过形参 n 返回。例如,若 x 中的值为 30,则有 4 个数符合要求,它们是 1,3,5,15。*4请编写一个函数 void fun(char *tt,int pp),统计在 tt 字符串中“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*5请编写一个
3、函数 void fun(int m,int k,int xx),该函数的功能是:将大于整数 m 且紧靠 m 的 k 个素数存入 xx 所指的数组中。例如,若输入:17,5,则应输出:19,23,29,31,37。*6请编写一个函数 void fun(char a,char b,int n),其功能是:删除一个字符串中指定下标的字符。其中,a 指向原字符串,删除后的字符串存放在 b 所指的数组中,n 中存放指定的下标。例如,输入一个字符串 World,然后输入 3,则调用该函数后的结果为 Word。*7请编写一个函数 int fun(int*s,int t,int *k),用来求出数组的最大元素
4、在数组中的下标并存放在 k 所指的存储单元中。例如,输入如下整数:876 675 896 10l 30l 40l 980 43l 451 777 ,则输出结果为:6,980。*8编写函数 fun,函数的功能是:根据以下公式计算 s,计算结果作为函数值返回;n 通过形参传入。S=1+1/(1+2)+1/(1+2+3)+1/(1+2+3+n)例如:若 n 的值为 11 时,函数的值为 1.833333。*9编写函数 fun,它的功能是:根据以下公式求 P 的值,结果由函数值带回。m 与 n 为两个正整数且要求 mn。2例如:m=12, n=8 时,运行结果为 495.000000。*10编写函数
5、fun,它的功能是:利用以下所示的简单迭代方法求方程 COS(X)-X=0 的一个实根。Xn+1=COS(Xn)迭代步骤如下:(1)取 x1 初值为 0.0;(2)x0=x1,把 x1 的值赋给 x0;(3)x1=COS(x0),求出一个新的 x1;(4)若 x0x1 的绝对值小于 0.000001,则执行步骤(5),否则执行步骤(2);(5)所求 x1 就是方程 COS(X)-X=0 的一个实根,作为函数值返回。程序将输出结果 Root=0.739085。*11下列程序定义了 NXN 的二维数组,并在主函数中自动赋值。请编写函数 fun(int aN,该函数的功能是:使数组左下半三角元素中的
6、值全部置成 0。例如:a 数组中的值为: ,则返回主程序后 a 数组中的值应为: 。*12下列程序定义了 NXN 的二维数组,并在主函数中赋值。请编写函数 fun,函数的功能是:求出数组周边元素的平均值并作为函数值返回给主函数中的 s。例如:若 a 数组中的值为:,则返回主程序后 s 的值应为 3.375。*13请编一个函数 void fun(int ttMN,int ppN),tt 指向一个 M 行 N 列的二维数组,求出二维数组每列中最小元素,并依次放入 pp 所指一维数组中。二维数组中的数已在主函数中赋予。*14请编写函数 fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二
7、维数组中的值在主函数中赋予。例如:若二维数组中的值为: ,则函数值为 61。3*15请编写一个函数 unsigned fun(unsigned w),w 是一个大于 10 的无符号整数,若 w 是n(n2)位的整数,则函数求出 w 的后 n-1 位的数作为函数值返回。例如:w 值为 5923,则函数返回 923;若 w 值为 923,则函数返回 23。*16请编一个函数 float fun(double h),函数的功能是对变量 h 中的值保留 2 位小数,并对第三位进行四舍五入(规定 h 中的值为正数) 。例如:若 h 值为 8.32433,则函数返回 8.32;若 h 值为 8.32533
8、,则函数返回 8.33。*17请编一个函数 fun(char*s),该函数的功能是把字符串中的内容逆置。例如:字符串中原有的字符串为 abcdefg,则调用该函数后,串中的内容为 gfedcba。*18编写程序,实现矩阵(3 行 3 列) 的转置(即行列互换) 。例如,若输入下面的矩阵: ,则程序输出:*19编写函数 fun,该函数的功能是:从字符串中删除指定的字符。同一字母的大、小写按不同字符处理。例如:若程序执行时输入字符串为:turbo c and borland c+,从键盘上输入字符 n,则输出后变为:turbo c ad borlad c+;如果输入的字符在字符串中不存在,则字符串
9、照原样输出。*20编写函数 int fun(int lim,int aaMAX),该函数的功能是求出小于或等于 lim 的所有素数并放在 aa 数组中,该函数返回所求出的素数的个数。*21请编写函数 fun,对长度为 7 个字符的字符串,除首、尾字符外,将其余 5 个字符按ASCII 码降序排列。例如,若原来的字符串为 CEAedca,则排序后输出为 CedcEAa。*22N 名学生的成绩已在主函数中放入一个带头节点的链表结构中,h 指向链表的头节点。请编写函数 fun,它的功能是:找出学生的最高分,由函数值返回。*23请编写函数 fun,该函数的功能是:判断字符串是否为回文?若是则函数返回
10、1,主函数中输出 YES,否则返回 0,主函数中输出 NO。回文是指顺读和倒读都一样的字符串。例如,字符串 LEVEL 是回文,而字符串 123312 就不是回文。*24请编写一个函数 fun,它的功能是:将一个数字字符串转换为一个整数( 不得调用 C 语言提供的将字符串转换为整数的函数)。例如,若输入字符串“-1234” ,则函数把它转换为整数值-1234 。*25请编写一个函数 fun,它的功能是:比较两个字符串的长度,( 不得调用 C 语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字4符串。例如,输入:beijing shanghai( 为回车键
11、),函数将返回 shanghai。*26请编写一个函数 fun,它的功能是:根据以下公式求 的值( 要求满足精度 0.0005,即某项小于 0.0005 时停止迭代):程序运行后,如果输入精度 0.0005,则程序输出为 3.14。*27请编写一个函数 fun,它的功能是:求出 1 到 m 之内(含 m)能被 7 或 11 整除的所有整数放在数组 a 中,通过 n 返回这些数的个数。例如,若传送给 m 的值为 50,则程序输出:7 11 14 21 22 28 33 35 42 44 49*28请编写一个函数 fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的
12、下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中 x 是数组名,n 是 x 中的数据个数,max 存放最大值,index 存放最大值所在元素的下标。*29请编写一个函数 fun,它的功能是:将 ss 所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换 )。例如,若输入 abc4EFg,则应输出 aBc4EFg。*30请编写一个函数 fun,它的功能是:求出一个 2xM 整型二维数组中最大元素的值,并将此值返回调用函数。*31请编写函数 fun,其功能是:将 s 所指字符串中除了下标为偶数、同时 ASCII 值也为偶数的字符外,其余的全都删除;串中剩余字符所
13、形成的一个新串放在 t 所指的数组中。例如,若 s 所指字符串中的内容为 ABCDEFG123456,其中字符 A 的 ASCII 码值为奇数,因此应当删除;其中字符 B 的 ASCII 码值为偶数,但在数组中的下标为奇数,因此也应当删除;而字符 2 的 ASCII 码值为偶数,所在数组中的下标也为偶数,因此不应当删除,其他依此类推。最后 t 所指的数组中的内容应是 246。*32请编写函数 fun,其功能是:将 s 所指字符串中除了下标为奇数、同时 ASCII 值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在 t 所指的数组中。例如,若 s 所指字符串中的内容为
14、ABCDEFGl2345,其中字符 A 的 ASCII 码值虽为奇数,但所在元素的下标为偶数,因此必需删除;而字符 1 的 ASCII 码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其他依此类推。最后 t 所指的数组中的内容应是135。*33假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:使字符串中尾5部的*号不得多于 n 个;若多于 n 个,则删除多余的*号;若少于或等于 n 个,则什么也不做,字符串中间和前面的*号不删除。例如,字符串中的内容为*A*BC*DEF*G*,若 n 的值为 4,删除后,字符串中的内容则应当是*A*BC*DEF*G*;若 n 的值为 7
15、,则字符串中的内容仍为 *A*BC*DEF*G*。n 的值在主函数中输入。在编写函数时,不得使用 C 语言提供的字符串函数。*34学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能是:把分数最高的学生数据放在 h 所指的数组中,注意:分数最高的学生可能不只一个,函数返回分数最高的学生的人数。*35请编写一个函数,用来删除字符串中的所有空格。例如,输入 asd af aa z67,则输出为 asdafaaz67。*36假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。例如,字符串
16、中的内容为*A*BC*DEF*G*,移动后,字符串中的内容应当是A*BC*DEF*G*。在编写函数时,不得使用 C 语言提供的字符串函数。*37某学生的记录由学号、8 门课程成绩和平均分组成,学号和 8 门课程的成绩已在主函数中给出。请编写函数 fun,它的功能是:求出该学生的平均分放在记录的 ave 成员中。请自己定义正确的形参。例如,若学生的成绩是 85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应当是 78.875。*38请编写函数 fun,它的功能是:求出 ss 所指字符串中指定字符的个数,并返回此值。例如,若输入字符串 123412132,输入字符 1,则
17、输出 3。*39请编写函数 fun,该函数的功能是:移动一维数组中的内容;若数组中有 n 个整数,要求把下标从 0 到 p(p 小于等于 n-1)的数组元素平移到数组的最后。例如,一维数组中的原始内容为:1,2,3,4,5,6,7,8,9,10;p 的值为 3。移动后,一维数组中的内容应为:5,6,7,8,9,10,1,2, 3,4。*40请编写函数 fun,该函数的功能是:移动字符串中的内容,移动的规则如下:把第 1到第 m 个字符,平移到字符串的最后,把第 m+l 到最后的字符移到字符串的前部。例如,字符串中原有的内容为 ABCDEFGHIJK,m 的值为 3,移动后,字符串中的内容应该是
18、 DEFGHIJKABC。*41请编写函数 fun,该函数的功能是:将 M 行 N 列的二维数组中的字符数据,按列的顺序依次放在一个字符串中。例如,若二维数组中的数据为:6则字符串中的内容应是 WSHWSHWSHWSH。*42下列程序定义了 NxN 的二维数组,并在主函数中自动赋值。请编写函数 fun(int aN,int n),该函数的功能是:使数组右上半三角元素中的值乘以 m。例如:若 m 的值为 2,a数组中的值为: ,则返回主程序后 a 数组中的值应为: 。*43编写一个函数,从传入的 num 个字符串中找出最长的一个字符串,并通过形参指针max 传回该串地址( 用*作为结束输入的标志
19、) 。*44编写一个函数,该函数可以统计一个长度为 2 的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为:asd asasdfg asd as zx67 asd mklo,子字符串为 as,则应输出6。*45假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参 n 给出了字符串的长度,形参 h 给出了字符串中前导*号的个数,形参 e 给出了字符串中最后*号的个数。在编写函数时,不得使用 C 语言提供的字符串函数。例如,若字符串中的内容为*A*BC*DEF*G*,删除后,字符串中的内容则应当是 A*BC*D
20、EF*G。*46学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能是:按分数的高低排列学生的记录,高分在前。*47请编写一个函数 void fun(char*ss),其功能是:将字符串 ss 中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换 )。例如,若输入 abc4EFgh,则应输出 aBc4EFgH。*48请编写函数 fun,其功能是:将两个两位数的正整数 a、b 合并形成一个整数放在 c 中。合并的方式是:将 a 数的十位和个位数依次放在 c 数的千位和十位上,b 数的十位和个位数依次放在 c 数的百位和个位上
21、。例如,当 a=45,b=12,调用该函数后,c=4152。*49请编写函数 fun,其功能是:将 s 所指字符串中下标为偶数同时 ASCII 值为奇数的字符删除,s 中剩余的字符形成的新串放在 t 所指的数组中。例如,若 s 所指字符串中的内容为 ABCDEFGl2345,其中字符 C 的 ASCII 码值为奇数,在数组中的下标为偶数,因此必须删除;而字符 1 的 ASCII 码值为奇数,在数组中的下标也为奇数,因此不应当删除,其他依此类推。最后 t 所指的数组中的内容应是 BDFl2345。*50已知学生的记录由学号和学习成绩构成,N 名学生的数据已存入 a 结构体数组中。请编写函数 fu
22、n,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数( 规定只有一个最高分)。已给出函数的首部,请完成该函数。7*51请编写函数 fun,其功能是:将所有大于 1 小于整数 m 的非素数存入 xx 所指数组中,非素数的个数通过 k 传回。例如,若输入 17,则应输出:9 和 4 6 8 9 10 12 14 15 16。*52编写一个函数 fun,它的功能是:实现两个字符串的连接(不使用库函数 strcat) ,即把p2 所指的字符串连接到 p1 所指的字符串后。例如,分别输入下面两个字符串: FirStString-SecondString则程序输出:FirstString-Sec
23、ondString*53请编写函数 fun,该函数的功能是:实现 B=A+A,即把矩阵 A 加上 A 的转置,存放在矩阵 B 中。计算结果在 main 函数中输出。例如,输入下面的矩阵: ,其转置矩阵为: ,则程序输出:*54学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能是;把低于平均分的学生数据放在 b 所指的数组中,低于平均分的学生人数通过形参 n 传回,平均分通过函数值返回。*55请编写函数 fun,该函数的功能是:将 M 行 N 列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参 n 所指的存
24、储单元中。例如,若二维数组中的数据为: ,则一维数组中的内容应是:33 33 33 33 44 44 44 44 55 55 55 55。*56假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是;除了尾部的*号之外,将字符串中其他*号全部删除。形参 p 已指向字符串中最后的一个字母。在编写函数时,不得使用 C 语言提供的字符串函数。例如,若字符串中的内容为*A*BC*DEF*G*,删除后,字符串中的则内容应当是 ABCDEFG*。注*57学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能是:把指定分数范围内的学生数据放在
25、 b 所指的数组中,分数8范围内的学生人数由函数值返回。例如,输入的分数是 60 和 69, 则应当把分数在 60 到 69 的学生数据进行输出,包含60 分和 69 分的学生数据。主函数中将把 60 放在 low 中,把 69 放在 heigh 中。*58编写函数 fun,它的功能是:求 n 以内(不包括 n)同时能被 3 与 7 整除的所有自然数之和的平方根 s,并作为函数值返回。例如,若 n 为 1000 时,函数值应为 s=153.909064。*59请编写函数 fun,该函数的功能是:将放在字符串数组中的 M 个字符串(每串的长度不超过 N) ,按顺序合并组成一个新的字符串。例如,若
26、字符串数组中的 M 个字符串为:AAAABBBBBBBCC 则合并后的字符串的内容应是 AAAABBBBBBBCC。*60请编写函数 fun,该函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如,若一维数组中的数据是: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。*61请编写函数 fun,该函数的功能是:统计各年龄段的人数。N 个年龄通过调用随机函数获得,并放在主函数的 age 数组中;要求函数把 0 至 9 岁年龄段
27、的人数放在 d0中,把10 至 19 岁年龄段的人数放在 d1中,把 20 至 29 岁年龄段的人数放在 d2中,其余依此类推,把 100 岁(含 100)以上年龄的人数都放在 d10中。结果在主函数中输出。*62请编写函数 fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行的开始没有空格。*63请编写一个函数 fun,它的功能是:计算并输出给定整数 n 的所有因子( 不包括 1 与自身)之和。规定 n 的值不大于 1000。备注:整数 n 的因子n 可以整除的数。例如,若主函数从键盘给 n
28、输入的值为 856,则输出为 sum=763。*64请编写函数 fun,其功能是:将 s 所指字符串中 ASCII 值为奇数的字符删除,串中剩余字符形成一个新串放在 t 所指的数组中。例如,若 s 所指字符串中的内容为 ABCDEFGl2345,其中字符 A 的 ASCII 码值为奇数、字符 1 的 ASCII 码值也为奇数、 都应当删除,其他依次类推。最后 t 所指的数组中的内容应是 BDF24。*65请编写函数 fun,其功能是:将两个两位数的正整数 a、b 合并形成一个整数放在 c 中。合并的方式是:将 a 数的十位和个位数依次放在 c 数的百位和个位上,b 数的十位和个位9数依次放在
29、c 数的十位和千位上。例如,当 a=45,b=12,调用该函数后,c=2415。*66假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:删除字符串中所有的*号。在编写函数时,不得使用 C 语言提供的字符串函数。例如,若字符串中的内容为*A*BC*DEF*G*,删除后,字符串中的内容则应当是 ABCDEFG。*67学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的函数是 s
30、trcmp) 。 *68请编写函数 fun,其功能是:计算并输出下列多项式值:Sn = 1 + 1/1! + 1/2! + 1/3! + 1/4! + . + 1/n!例如,若主函数从键盘给 n 输入 15,则输出为 s=2.718282。注意:n 的值要求大于 1 但不大于 100。*69请编写函数 fun,它的功能是:求 Fibonacci 数列中大于 t 的最小的一个数,结果由函数返回。其中 Fibonacci 数列 F(n)的定义为:F(0)=0,F(1)=1F(n)=F(n-1)+F(n-2)例如:当 t=1000 时,函数值为 1597。*70编写函数九 n,它的功能是:计算并输出
31、下列级数和:例如,当 n=10 时,函数值为 0.909091。*71请编写函数 fun,其功能是:将两个两位数的正整数 a、b 合并形成一个整数放在 c 中。合并的方式是:将 a 数的十位和个位数依次放在 c 数的十位和千位上,b 数的十位和个位数依次放在 c 数的百位和个位上。例如,当 a=45,b=12,调用该函数后,c=5142。*72请编写函数 fun,其功能是:将 s 所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在 t 所指数组中。例如,当 s 所指字符串中的内容为 ABCDEFGHIJK,则在 t 所指数组中的内容应是,BDFHJ*73假定输入的字符串中只包含字母和
32、*号。请编写函数 fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参 h 已指向字符串中第个字母,形参p 已指向字符串中最后一个字母。在编写函数时,不得使用 C 语言提供的字符串函数。例如,若字符串中的内容为*A*BC*DEF*G*,删除后,字符串中的内容则10应当是*ABCDEFG*。在编写函数时,不得使用 C 语言提供的字符串函数。*74学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能是:把分数最低的学生数据放在 h 所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。*75
33、请编写函数 fun,该函数的功能是:将 M 行 N 列的二维数组中的数据,按列的顺序依次放到一维数组中。例如,若二维数组中的数据为: ,则一维数组中的内容应是:33 44 55 33 44 55 33 44 55 33 44 55。*76请编写函数 fun,其功能是:计算并输出当 x0.97 时下列多项式的值,直到|S n-Sn-1|0.000001 为止。例如,若主函数从键盘给 x 输入 0.21 后,则输出为 s:1.100000。*77请编写函数 fun,其功能是:将两个两位数的正整数 a、b 合并形成一个整数放在 c 中。合并的方式是:将 a 数的十位和个位数依次放在 c 数的个位和百
34、位上,b 数的十位和个位数依次放在 c 数的十位和千位上。例如,当 a=45,b=12,调用该函数后,c=2514。*78请编写函数 fun,其功能是:将 s 所指字符串中 ASCII 值为偶数的字符删除,串中剩余字符形成一个新串放在 t 所指的数组中。例如,若 s 所指字符串中的内容为 ABCDEFGl2345,其中字符 B 的 ASCII 码值为偶数、字符 2 的 ASCII 码值为偶数、 都应当删除,其他依此类推。最后 t 所指的数组中的内容应是 ACEGl35。*79已知学生的记录由学号和学习成绩构成,N 名学生的数据已存入 a 结构体数组中。请编写函数 fun,该函数的功能是:找出成
35、绩最低的学生记录,通过形参返回主函数( 规定只有一个最低分)。已给出函数的首部,请完成该函数。*80程序定义了 NxN 的二维数组,并在主函数中自动赋值。请编写函数 fun(int aN,int n),该函数的功能是:使数组左下半三角元素中的值乘以 n。例如:若 n 的值为 3,a 数组中的值为: ,则返回主程序后 a 数组中的值应为: 。*1181请编写函数,其功能是:将两个两位数的正整数 a、b 合并形成一个整数放在 c 中。合并的方式是:将 a 数的十位和个位数依次放住 c 数的百位和个位上,b 数的十位和个位数依次放 c 数的千位和十位上。例如,a=45,b=12,调用该函数后,c=1425。*82请编写一个函数 fun,它的功能是:计算 n 门课程的平均分,计算结果作为函数值返回。例如:若有 5 门课程的成绩是:90.5,72,80,61.5,55,则函数的值为 71.80。*83假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。例如,若字符串中的内容为*A*BC*DEF*G*,删除后,字符串中的内容则应当是*A*BC*DEF*G。在编写函数时,不得使用 C 语言提供的字符串函数。*