




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1请编写函数fun ,其功能是:找由2XM整型二维数组中最大元素的值,并将此值返回调用函数。int fun (int a M)int i , j , max= a00;for(i =0; i<2 ; i + )for(j =0; j<M; j + )if(max<a皿)max = aij;return max ;2编写函数fun ,其功能是:根据以下公式求兀的值(要求精度0.0005 ,即某项小于 0.0005时停止迭代)。冗 _1 + 1 +1M2+1父2M341父2M3M42 -3 3 5 3 5 73 5 71父2M"3W"2n+1)程序运行后,若输
2、入精度double fun( double eps)double s =1.0, si = 1.0 ;int n = 1;while(s1> =eps) /*当奥项大于精度要求时,继续求下一项 */ si = s1s =s+ si ;/* 求和*/n;return 23 编写函数 fun , 其功能是: 求出 1 到 1000 之间能被 7 或 11整除, 但不能同时被7 和 11 整除的所有整数, 并将其放在a所指的数组中,通过n 返回这些数的个数。void fun(int *a , int *n)int ij =0;for(i =1; i<=l000; i +)/* 求 1 至
3、1000 之内能被 7 或11 整除但不能同时被7 和 11 整除的所有整数,并放入数组a 中 */if(i%7 = = 0|i%ll = = 0)&&i%77 ! = 0)aj + =i ;*n = j ;/*传回满足条件的数的个数 */4 规定输入的字符串中只包含字母和 * 号。编写函数fun ,其功能是: 删除字符串中所有的 *号。 编写函数时, 不得使用 C语言提供的字符串函数。例如,字符串中的内容为: *A*BC*DEF*G* ,删除后字符串中的内容应当是:ABCDEF Gvoid fun(char *a)int i , j = 0;for(i =0; ai ! =&
4、#39;0' ; i + +)if(ai !='*')aj + =ai ;/*若不是要删除的字符*/aj ='0' ;/*最后加上字符串结束符5 编写函数 fun ,其功能是:实现两个字符串的连接用库函数strcat),即把 p2 所指的字符串连接到字符串的后面。例如,分别输入下面两个字符串:FirstString SecondString程序输出:FirstString SecondString则留下0' */( 不要使p1 所指的void fun(char p1, char p2)for(i =0; p1i ! ='0' ;
5、i+);/* 求生的 i 为p1 字符串的总长度,包括结束标记符*/for(j =0; p2j ! ='0' ; j + )p1i + = p2j ;/*将p2字符串连在 pl字符串后面*/p1i ='0' ;/*在字符串最后加上结束标记符*/6 某学生的记录由学号、 8 门课程成绩和平均分组成,学号和 8 门课程的成绩已在主函数中给出,请编写函数fun ,其功能是:求出该学生的平均分,并放入记录的 ave 成员中。例如, 学生的成绩是: 85.5,76,69.5,85,91,72,64.5, 87.5 ,则他的平均分应为 78.875 。void fun(ST
6、REC *a)int i ;a >ave = 0.0 ;for(i =0; i<N; i + +)a >ave = a >ave + a >si;/* 求各门成绩的总和 */a >ave = a >ave/N ;/* 求平均分 */7 N 名学生的成绩已在主函数中放入一个带头节点的链表结构中, h 指向链表的头节点。请编写函数fun ,其功能是:求出平均分,并由函数值返回。例如, 若学生的成绩是: 85 76 69 85 91 72 64 87,则平均分应当是: 78.625 。double fun(STREC *h)double av =0.0;ST
7、REC *p= h>next ;/*p直接指向"头结点"的下一个结点,即第一个成绩*/while(p ! = NULL) av=av+p>s;/* 求总分数 */p= p >next ;return av/N ;/* 返回平均值*/8编写函数fun ,其功能是:将所有大于 1小于整数m的非 素数存入 xx 所指数组中,非素数的个数通过k 返回。例如, 若输入 17 , 则应输出: 4 6 8 9 10 12 14 1516。void fun(int m, int *k, int xx)int i , j , n = 0;for(i =4; i<m;
8、i+)/*找由大于1小于整数 m的非素数 */ for(j =2; j<i ; j +)if(i%j = = 0) break ;if(j<i) xxn+ + =i ;*k = n;/*返回非素数的个数*/9 编写函数 fun ,其功能是:求ss 所指字符串中指定字符的个数,并返回此值。例如,若输入字符串 123412132 ,输入字符为 1,则输出 3int fun(char *ss, char c)int i =0;for( ; *ss ! ='0' ; ss + + )if(*ss = = c)i ; /* 求出 ss 所指字符串中指定字符的个数*/retur
9、n i ;10 编写函数 fun ,其功能是:计算n 门课程的平均分,结果作为函数值返回。例如:若有5 门课程的成绩是: 90.5,72,80,61.5,55 ,则函数的值为: 71.80 。float fun (float *a, int n)float av = 0.0 ;int i ;for(i =0; i<n ; i + +)/* 求分数的总和 */av = av + ai;return (av/n) ;/* 返回平均值*/11 学生的记录由学号和成绩组成, N 名学生的数据已放入主函数中的结构体数组s 中,请编写函数fun ,其功能是:把分数最高的学生数据放在b 所指的数组中。
10、注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。int fun (STREC *a, STREC *b)int i , j = 0, ma> a0 . s;for(i =0; i<N; i + )if(max<ai . s) max = ai . s ;/* 找出最大值*/for(i =0; i<N; i + )if(max =ai . s) bj +=ai ;/* 我由成绩与max相等的学生的记录,存入结构体b中*/return j ;/* 返回最高成绩的学生人数*/12 规定输入的字符串中只包含字母和 *号。 请编写函数fun ,其功能是:除了字符串
11、前导的 *号之外,将串中其它 *号全部删除。在编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为: *A*BC*DEF*G* ,删除后,字符串中的内容应当是:*ABCDEFG。void fun(char *a)int i =0;char *p =a;while(*p&&*p = = '*')ai =*P; i + + ; P + + ;while(*p)if(*p !=,*,)ai = *P ; i + + ;p;ai ='0';13 编写函数 void fun(char *tt , int pp) ,统计在 tt 所指的字符串中
12、 '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 0void fun(char *tt, int pp)int i ;for(i =0; i<26 ; i + + )ppi =0;/*初始化pp数组各元素为0='0'tt )if(*tt> = ' a' &&*tt< = ' z&
13、#39;)pp*tt ' a' + + ;14 规定输入的字符串中只包含字母和 *号。 请编写函数fun ,其功能是:将字符串尾部的 *号全部删除,前面和中间的 *号不动。例如,字符串中的内容为: *A*BC*DEF*G* ,删除后,字符串中的内容应当是: *A*BC*DEF*G 。在编写函数时,不得使用C语言提供的字符串函数。void fun (char *a);while(*a ! ='0')a;a ;/* 指针a 指向字符串的尾部*/while(*a = = ' *')a ;/* 指针a 指向最后一个字母*/*(a +1)=/*在字符串最后
14、加上结束标志符*/15编写函数 fun ,其功能是:比较字符串的长度, (不得使用 C 语言提供的求字符串长度的函数) ,函数返回较长的字符串。若两个字符长度相同,则返回第一个字符串。例如,输入beijing<CR>shanghai<CR>(<CR> 为回车键 ) ,函数将返回 shanghai 。char *fun(char *s, char *t)int i , j ;for(i =0; si ! = ' 0' ; i+);/*求字符串的长度 */for(j =0; tj ! = ' 0' ; j +);if(i>
15、=j) /*比较两个字符串的长度*/return s ;/* 函数返回较长的字符串,若两个字符串长度相等,则返回第 1 个字符串 */elsereturn t ;16学生的记录由学号成绩组成,N名学生的数据已放入主函数中的结构体数组s 中,请编写函数fun ,其功能是:函数返回该学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置1,作为函数值返回。 ( 用于字符串比较的函数是strcmp)STREC fun(STREC *a, char *b)int i ;STRECStr ="0" , 1;/*若没找到指定的学号,在结构体变量
16、中给学号置空串,给成绩置 1 )if(strcmp(ai . num, b)=0)/* 找到指定学号的学生数据 */str = ai;return str ;/* 返回学生记录 */17编写函数 fun ,其功能是:将两个两位数的正整数a、 b合并成一个整数放在c 中。合并的方式是:将a 数的十位和个位数依次放在c 数的十位和千位上, b 数的十位和个位数依次放在 c 数的百位和个位上。例如,当a=45, b=12时,调用该函数后,c =5142。void fun(int a , int b , long *c)*c = b%10+ (a/10)*10 + (b/10)*100 + (a%10
17、)*1000 ;18 编写函数 fun ,其功能是:利用下面的简单迭代方法求方程cos(x) x = 0的一个实根。xn + 1 = cos(xn)迭代步骤如下:(1) 取 x1 初值为 0.0 ;(2)x0 = x1,将x1的值赋给x0;(3)x1 = cos(x0),求生一个新的 x1;(4) 若 x0 x1 的绝对值小于 0.000001 ,执行步聚(5) ,否则执行步聚 (2) ;(5)所求x1就是方程cos(x) -x = 0的一个实根,作为函数值返回。程序将输由结果 Root = 0.739086。float fun()float x1 =0.0 , x0;dox0 = x1 ;x
18、1 = cos(x0);while (fabs(x0-x1)>= 1e 6);19 规定输入的字符串中只包含字母和 *号。 请编写函数fun ,其功能是:将字符串中的前导*号全部移到字符串的尾部。例如,字符串中的内容为:*A*BC*DEF*G*,移动后,字符串中的内容应当是:A*BC*DEF*G*。在编写函数时,不得使用C语言提供的字符串函数。void fun(char *a)int i =0, n = 0;char *p ;P=a;while (*p= = ' *' )/* 判断*p是否是*号,并统计* 号的个数 */n; p;while(*p) /*将前导 *号后的字
19、符传递给a*/ai =*P; i + + ; P + + ;while(n ! = 0)ai =' *' ; i + + ; n;ai ='0';20 编写函数 fun ,其功能是:将两个两位数的正整数a、 b合并成一个整数放在c 中。合并的方式是:将a 数的十位和个位数依次放在c 数的个位和百位上, b 数的十位和个位数依次放在 c 数的千位和十位上。例如,当a=45, b=12时,调用该函数后,c= 1524。void fun(int aint b , long *c)*c = a/10 + (b%10)*10 + (a%10)*100 + (b/10)*1
20、000 ;21编写函数fun ,其功能是计算:S=Jln(1)+ln(2) +ln(3)+ln(m) s作为函数值返回。在C语言中可调用10g(n)函数求ln(n)。log函数的引用说明为:double 10g(double x) 。例如,若 m的值为20,则fun函数值为6.506583。double fun(int m)int i ;double s = 0.0 ;for(i = 1; i< = m; i + + )s=s+log(i) ;/* 计算 s=ln(1) + ln(2) + ln(3)+ + ln(m)*/return sqrt(s)/*对s求平方根并返回*/22 规定输
21、入的字符串中只包含字母和 * 号。 请编写函数fun ,其功能是:只删除字符前导和尾部的 * 号,串中字母间的 * 号都不删除。形参n 给出了字符串的长度,形参h 给出了字符串中前导*号的个数,形参e给由了字符串中尾部*号的个数。在编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为: *A*BC*DEF*G* ,删除后,字符串中的内容应当是:A*BC*DEF*G。void fun (char *a , int n , int h , int e)int i , j = 0;for(i =h; i<n e; i + +)/*第一个字母和最后一个字母之间的字符全不删除*/aj
22、 + =ai;aj ='0' ;/*在字符串最后加上结束标识*/23 函数 fun 的功能是: 将 s 所指字符串中下标为偶数的字符删除,剩余字符形成的新串放在t 所指数组中。例如,当s所指字符串中的内容为"ABCDEFGHIJK时,在t所指数组中的内容应是: "BDFHJ" 。void fun(char *s , char t)int i , j=0, k=strlen(s) ;/*k 为字符串的长度 */for(i = 1 ; i<k ; i = i + 2)/*将s所指字符串中下标为奇数的字符存入t 所指字符串中 */tj + =si;
23、24 编写函数 fun ,其功能是:将a 、 b 中的两个两位正整数合并成一个新的整数放在 c 中。合并的方式是:将a 中的十位和个位数依次放在变量c 的百位和个位上, b 中的十位和个位数依次放在变量c 的十位和千位上。例如,当a=45, b=12,调用该函数后 c=2415。void fun(int aint b , long *c)*c = a%10+ (b/10)*10 + (a/10)*100 + (b%10)*1000 ;25 假定输入的字符串中只包含字母和 * 号。 请编写函数fun ,其功能是:除了尾部的 *号之外,将字符中的其它的 *号全部删除。形参p 已指向字符串中最后的一
24、个字母。在编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为 *A*BC*DEF*G* ,删除后,字符串中的内容应当是ABCDEFG* 。void fun(char *a , char *p)char *t = a;for( ; t< = p; t + + )if(*t !=,*,)*(a + + ) = *t ;/*将p以前所有不是*号的字符保留下来 */for( ; *t ! ='0' ; t + + )*(a + + ) = *t ;/*将p以后的所有*号保留下来*/*a = '0' ;/*在字符串最后加上字符串结束标识*/26学生的
25、记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s 中,请编写函数fun ,其功能是:按分数降序排列学生的记录,高分在前,低分在后。void fun (STREC a)int i , j ;STREC t;for(i =1; i<N; i +)/*用冒泡法进行排序,进行 N 1 次比较 */for(j =0; j<N-1; j +)/*在每一次比较中要进行 N 1 次两两比较*/if(aj s<aj 1 s)t =aj ; aj =aj +1 ; aj +1=t ; /* 按分数的高低排列学生的记录,高分在前*/27学生的记录由学号和成绩组成。N名学生的数据已放
26、入主函数中的结构体数组s 中,请编写函数fun ,其功能是:把高于等于平均分的学生数据放在b 所指的数组中, 高于等于平均分的学生人数通过形参n 传回, 平均分通过函数值返回。double fun (STREC *a , STREC *b, int *n)int i ;double av =0.0;*n = 0;for(i =0; i<N; i + +)av = av + ai . s ;av = av/N ;/*求平均值*/for(i =0; i<N; i + )if(av< = ai . s) b*n= ai ; *n = *n + 1; /* 将高于等于平均分的学生存入
27、b 所指存储单元中, 并统计人数 */return av ;/* 返回平均分*/28编写函数fun ,其功能是:将1到m之间(含m)能被7或11 整除的所有整数放在数组a 中, 并通过 n 返回这些数的个数。例如,若传给m的值为50,则程序输由:7 11 14 21 22 28 33 35 42 44 49void fun(int m, int *a, int *n)int i , j = 0;for(i = 1; i< = m; i + + )if(i%7 =0|i%11 = 0)/* 求生 1 到 m(含 m)之内能被7或 11 整除的所有整数放在数组a 中*/aj + =i ;*n
28、=j ;/*返回这些数的个数*/29 规定输入的字符串中只包含字母和 * 号。编写函数fun ,其功能是:将字符串中的前导 *号全部删除,中间和尾部的 *号不删除。例如,字符串中的内容为: *A*BC*DEF*G* ,删除后字符串中的内容应当是: A*BC*DEF*G* 。编写函数时,不得使用C语言提供的字符串函数。void fun (char *a)char *p =a;while(*p = = ' *')p; /* 指针 p 指向字符串第一个字母*/for( ; *p ! ='0' ; p + + , a+)*a = *p;/*从第一个字母开始,其后的字符都
29、放入指针a 所指的字符串中 */七='0' ;/*在字符串最后加上字符串结束标识*/30 N 名学生的成绩已在主函数中放入一个带有头节点的链表结构中, h 指向链表的头节点。请编写函数fun ,其功能是:找出学生的最高分,并由函数值返回。double fun(STREC *h)double max = h >s;while(h ! = NULL) /*通过循环找到最高分数 */ if(max<h >s) max = h >s;h = h >next ;return max ;31 请编写函数fun ,其功能是:找出一维整型数组元素中最大的值及其所在
30、的下标,并通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值, index 存放最大值所在元素的下标。void fun(int a, int n, int *max, int *d)int i ;*max= a0;*d =0;for(i =0; i<n ; i+)/*将最大的元素放入指针max所指的单元,最大元素的下标放入指针 d 所指的单元 */if(*max<ai)*max = ai ; *d = i ; 32 编写函数 fun ,其功能是:将s 所指字符串中除了下标为奇数同时 ASCII 值也为奇数的字符之外, 其余的所有字
31、符全部删除, 串中剩余字符所形成的一个新串放在t 所指的数组例如,若s所指字符串的内容为:"ABCDEFG12345;其中字符 A 的 ASCII 码值为奇数,但所在元素的下标为偶数,因此需要删除;而字符1 的 ASCII 码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其它依此类推。最后 t 所指数组中的内容应为: "135" 。void fun(char *s , char t)int i , j = 0, n;n = strlen(s) ;for(i =0; i<n ; i + + )if(i%2 ! = 0&&si%2 ! =
32、0)tj =si ;/*将下标为奇数同时 ASCII码值为奇数的字符放入数组t 中 */j ;tj ='0' ;/*最后加上结束标识符*/33编写函数fun,其功能是:实现B= A+ A',即将矩阵A加上 A 的转置,存放在矩阵 B 中。计算结果在main 函数中输出。例如,输入下面的矩阵:其转置矩阵为:1 231474 562587 89369程序输出:261061014101418void fun (int a33, int b33)int i , j ;for(i =0; i<3 ; i + )for(j =0; j<3 ; j +)bijaij aj
33、i;/*的转置,存放在矩阵把矩阵 a 加上 ab 中 */34 请编写函数fun , 该函数的功能是: 统计各年龄段的人数。N 个年龄通过调用随机函数获得,并放入主函数的 age 数组中。要求函数把0 至 9 岁年龄段的人数放在d0 中,把 10至 19 岁年龄段的人数放在d1 中,把 20 至 29 岁年龄段的人数放在 d2 中, 依此类推, 把 100 岁 ( 含 100 岁 ) 以上年龄的人数都放在d10 中。结果在主函数中输出。void fun(int *a, int *b)int i , j ;for(j =0; j<M; j + )bj =0;/*数组b初始化为0 + )if
34、(ai> = 100)b10 ; /* 如果年龄大于等于 100, b10 自增 1 ;/* 如果年龄小于100,则将其分别统计到bai/10 中*/35 学生记录由学号和成绩组成, N 名学生的数据已放入主函数中的结构体数组中,请编写函数fun ,其功能是:把分数最低的学生数据放入b 所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生人数。int fun(STREC *a , STREC *b)int i , j = 0, n = 0, min ;min = a0 . s;for(i =0; i<N; i + )if(ai s<min)min = ai
35、. s;for(i =0; i<N; i + )if(ai . s = =min)*(b +j) =ai ; j + + ; n+ + ;return n36 请编写函数fun , 该函数的功能是: 移动字符串中的内容,移动的规则是把第1m个字符,平移到字符串的最后,把第 m 1 到最后的字符移到字符串的前部。例如,字符串中原有的内容为ABCDEFGHIJKm的值为3,移动后,字符串中的内容应该是DEFGHIJKABCvoid fun (char *w , int m)int i , j ;char t ;for(i = 1 ; i< = m; i + + )/*进行m次的循环左移
36、*/ t=w。;for(j = 1 ; wj ! = '0' ; j + + )/* 从第 2 个字符开始以后的每个字符都依次前移一个字符 */wj -1 =wj;wj 1 = t ;/*将第1个字符放到最后一个字符中 */37 编写函数fun ,其功能是:删除一个字符串中指定下标的字符。其中, a 指向原字符串,删除指定字符后的字符串存放在 b 所指的数组中, n 中存指定的下标。例如,输入一个字符串 world ,然后输入 3,则调用该函数后的结果为 word 。void fun (char a(), char b(), int n)int i , k=0;for(i =0
37、; ai ! ='0' ; i + +)if(i ! = n) /*将不是指定下标的字符存入数组b中*/bk + + = ai;bk ='0' ;/*在字符串最后加上结束标识*/38编写函数fun, w是一个大于10的无符号整数,若 w是n(nA2)位的整数,则函数求由w的后n1位的数作为函数 值返回。例如,w值为5923,则函数返回923;若w值为923,则函数返回 23 。unsigned fun(unsigned w)if(w> =10000)return w%10000 ;/*求生n位整数w的后n 1位的数*/if(w> = 1000)ret
38、urn w%1000 ;if(w> =100)return w%100 ;if(w> =10)return w%10 ;39请编写函数fun,该函数的功能是:将 M行N列的二维数组中的数据,按行的顺序依此放到一维数组中,一维数组中数据的个数存放在形参n 所指的存储单元中。例如,若二维数组中的数据为:33 33 33 3344 44 44 4455 55 55 55则一维数组中的内容应该是 33 33 33 33 44 44 4444 55 55 55 55void fun (int (*s)10, int *b, int *n, int mm, int nn)int i , j ,
39、 k = 0;for(i =0; i<mm; i + +)/*将二维数组s中的数据按行的顺序依次放到一维数组b 中 */for(j =0; j<nn ; j + + )bk+= s皿;*n = k;/*通过指针返回元素个数 */结果作为函数值返回,n通过形参传入。,+11+2 1+2+3 i+2+3+-n 例如:若 n的值为 11时,函数的值为1.833333float fun(int n)int i , s1=0;float s = 0.0 ;for(i = 1; i< = n ; i + + )s1 = s1 + i ;/*求每一项的分母 */s=s+1.0/s1 ;/*
40、求多项式的值*/return s;s1 = s1 + i ;/*求每一项的分母 */s = s + 1.0/s1 ;/*求多项式的值*/return s;41 编写函数 fun ,其功能是:将s 所指字符串中 ASCII 值为奇数的字符删除,剩余字符形成的新串放在 t 所指数组中。例如,若s所指字符串中的内容为:"ABCDEFG12345;其中字符A的ASCII码值为奇数、字符 1的ASCII码值也为奇数、都应当删除,其它依此类推。最后 t所指的数组中的内容应是: "BDF24" 。void fun(char *s , char t)int i , j = 0,
41、n;n = strlen(s) ;for(i =0; i<n ; i + +)/*找由ASCII码值为偶数的字符依次存入数组中 */if(si%2= 0)tj =si;j ;tj ='0';? 42下列程序定义了NXN的二维数组,并在主函数中自动赋值。请编写函数fun(int aN) ,该函数的功能是:将数组左下半三角元素中的值全部置成 0 。例如 a 数组中的值为:a= 1 9 72 3 84 5 6则返回主程序后 a 数组中的值应为:0 9 70 0 843 规定输入的字符串中只包含字母和 * 号。编写函数fun ,其功能是:除了字符串前导和尾部的 * 号外,将串中其
42、它的 *号全部删除。形参h 已指向字符串中第一个字母,形参p 指向字符串的中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。例如,若字符串中的内容为 *A*BC*DEF*G* ,删除后,字符串中的内容应当是: *ABCDEFG* 。在编写函数时,不得使用C语言提供的字符串函数。void fun(char *a , char *h , char *p)int i =0;char *q = a;while (q<h)/* 判断前导 *号的结束 */ai =*q ; q+ + ; i + + ;while (q<p)/ *删除除了字符串前导和尾部的 *号*/if(*q !ai
43、 = *q ; i + + ;q;while (*q)ai = *q ; i + + ; q + + ;ai ='0';44 函数 fun 的功能是:将a、 b 的两个两位正整数合并成一个新的整数放在 c 中。合并的方式是:将a 中的十位和个位数依次放在变量c 的百位和个位上, b 中的十位和个位数依次放在变量c 的千位和十位上。例如,当a=45, b=12,调用该函数后 c= 1425。void fun(int a , int b , long *c)*c = a%10+ (b%10)*10 + (a/10)*100 + (b/10)*1000 ;45 规定输入的字符串中只包
44、含字母和 * 号。 请编写函数fun ,其功能是:使字符串的前导 *号不得多于n 个,若多于n 个,则删除多余的* 号;若少于或等n 个,则不做处理,字符串中间和尾部的*号不删除。例如,字符串中的内容为: *A*BC*DEF*G* ,若 n的值为4 ,删除后,字符串中的内容应当是:*A*BC*DEF*G* ;若 n 的值为8,则字符串中的内容仍为: *A*BC*DEF*G*。 n 的值在主函数中输入。 在编写函数时,不得使用C语言提供的字符串函数。void fun(char *a , int n )int i =0, k =0;char *p, *t ;p=t=a;/*开始时,p与t同时指向数
45、组的首地址*/while(*t = = '*')/*用k来统计前部星号的个数*/k ; t ; if(k>n) /*如果k大于n,则使p的前部保留n个星号,其后的字符依次存入数组a 中 */ while(*p)ai=*(P +kn);i ;p;ai ='0' ;/*在字符串最后加上结束标识位*/46 编写函数 fun ,其功能是:将两个两位数的正整数a、 b合并成一个整数放在c 中。合并的方式是:将a 数的十位和个位数依次在c 数的个位和百位上, b 数的十位和个位数依次放在 c 数的十位和千位上。例如,当a=45, b=12时,调用该函数后 c=2514
46、。void fun(int a , int b , long *c)*c = a/10 + (b/10)*10 + (a%10)*100 + (b%10)*1000 ;47 请编写函数fun ,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数) 。例如,若输入字符串" 1234" ,则函数把它转换为整数值 1234。long n =0;int flag = 1;if(*p = = ' ' )/* 负数时置 flag 为一1+; flag =1; else if(*p = = ' + )/* 正数时置 flag 为
47、 1p;while(*p ! ='0')n = n*10 +*p ' 0' ;/*将字符串转成相应的整数*/p;return n*flag ;48 编写函数 fun ,其功能是:求Fibonacci 数列中大于 t 的最小的数, 结果由函数返回。 Fibonacci 数列 F(n) 的定义为:F(0) =0, F(1) =1F(n) =F(n 1) + F(n 2)例如,当t =1000时,函数值为1597。int fun(int t)int f0 =0, f1 =1, f;dof = f0 +f1 ;f0 = f1; fl = f;while(f<t)
48、;return f ;49学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s 中, 请编写函数fun , 其功能是: 把低于平均分的学生数据放入b 所指的数组中, 低于平均分的学生人数通过形参n 传回,平均分通过函数值返回学生的记录由学号和成绩组成, N 名学生的数据已在主函数中放入结构体数组s 中, 请编写函数fun , 其功能是: 把低于平均分的学生数据放入b 所指的数组中, 低于平均分的学生人数通过形参n 传回,平均分通过函数值返回50 编写函数 fun ,其功能是:将ss 所指字符串中所有奇数位上的字母转换为大写 ( 若该位置上不是字母,则不转换) 。例如,若输入
49、"abc4EFg" ,则应输出 "aBc4EFg"void fun(char *ss)int i ;for(i =0; ssi ! ='0' ; i+)/* 将 ss 所指字符串中所有下标为奇数位置的字母转换为大写 */if(i%2 =l&&ssi> =' a' &&ssi< =' z')ssi =ssi 32;51 编写函数 fun ,其功能是:将a 、 b 中的两个两位数正整数合并成一个新的整数放在 c 中。合并的方式是:将a 中的十位和个位数依次放在变量c
50、的千位和十位上, b 中的十位和个位数依次在变量c 的个位和百位上。例如,当a=45, b=12,调用该函数后 c=4251void fun(int a , int b , long *c)*c = b/10 + (a%10)*10 + (b%10)*100 + (a/10)*1000 ;52 规定输入的字符串中只包含字母和 * 号。 请编写函数fun ,其功能是:使字符串中尾部的 *号不多于 n 个,若多于n 个,则删除多余的 *号;若少于或等于 n 个,则不做任何操作,字符串中间和前面的 * 号不删除。例如,字符串中的内容为: *A*BC*DEF*G* ,若 n的值为4 ,删除后,字符串中
51、的内容应为:*A*BC*DEF*G* ;若 n 的值为7,则字符串中的内容仍为: *A*BC*DEF*G*。 n 的值在主函数中输入。 编写函数时,不得使用C语言提供的字符串函数。void fun( char *a , int n )int i =0, k = 0;char *p, *t ;p= t = a;while(*t)t ;t ;while(*t = = ' *')k ; t ; if(k>n)while(*p&&p<t n 1)ai = *p ;i ; p;ai ='0';53 函数 fun 的功能是: 将 s 所指字符串中
52、除下标为偶数同时ASCII 码值也为偶数的字符外,其余的全部删除;字符串中剩余字符所形成的新串放在t 所指的数组中。例如,若s所指字符串中的内容为:"ABCDEFG123456;其中字符 A 的 ASCII 码值为奇数,因此应当删除;其中字符 B的 ASCII 码值为偶数,但在数组中的下标为奇数,因此也应当删除;字符2 的 ASCII 码值为偶数,但在数组中的下标为奇数,因此不应当删除,其它依此类推。最后 t 所指的数组"246"void fun(char*s, char t)int i , j = 0;for(i =0; si ! ='0' ;
53、i + +)if(i%2 = = 0&&si%2 = 0)/* 将s所指字符串中下标和 ASCII 码值都为偶数的字符放入数组t 中*/tj + =si;tj ='0'/*在字符串最后加上结束标识*/54 函数 fun 的功能是:将两个两位数的正整数a 、 b 合并成一个整数放在c 中。合并的方式是:将a 数的十位和个位数依次放在 c 数的千位和十位上, b 数的十位和个位数依次放在 c 数的百位和个位上。例如,当a=45, b=12时,调用该函数后 c=4152。void fun(int a , int b , long *c)*c = b%10+ (a%10)*10 + (b/10)*100 + (a/10)*1000
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 代交税委托协议
- 八步沙干部培训活动方案
- 公交公司全年假日团建活动方案
- 环保绿色校园行动倡议书演讲稿7篇
- 《力与运动的关系:初三物理基础概念教案》
- 思念故乡抒情散文(8篇)
- 《语文文言文阅读与现代文阅读教学教案》
- 公共书房活动方案
- 公务员中秋节活动方案
- 公司diy多肉活动方案
- 光电效应测普朗克常数-实验报告
- 110千伏变电站工程检测试验项目计划
- 《铁路货物运价规则》
- YD_T 3956-2021 电信网和互联网数据安全评估规范_(高清版)
- (完整版)数学常用英文词汇
- 完整word版医院外包业务管理质量安全评估报告内部审计报告及工作改进实例
- (完整word版)数据模型与决策课程案例分析
- 最新《消费者行为学》综合练习
- 调岗调薪实操指引PPT课件
- 凹版印刷技术与凹版油墨PPT优秀课件
- 自动制钉机机械原理课程设计
评论
0/150
提交评论