c语言ifmn除2余1,C语言编程题及答案 2

本文档详细介绍了如何编写C语言函数,包括寻找二维数组的最大值、筛选非素数、处理特定范围内符合条件的整数、计算累加和与平均分、链表操作、字符串反转与移位等。涉及的关键技术包括数组处理、循环控制、条件判断和字符串处理技巧。
摘要由CSDN通过智能技术生成

《C语言编程题及答案 2》由会员分享,可在线阅读,更多相关《C语言编程题及答案 2(112页珍藏版)》请在人人文库网上搜索。

1、1请编写函数fun,其功能是:找出2M整型二维数组中最大元素的值,并将此值返回调用函数。 int fun (int a M) int i,j,maxa00; for(i0;ieps) /*当某项大于精度要求时,继续求下一项*/ s1s1sss1; /*求和*/ n; return 2 3编写函数fun,其功能是:求出1到1000之间能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。 void fun(int *a,int *n) int i,j0; . . for(i1;iave0.0; . . for(i0;iaveaaveasi; /*。

2、求各门成绩的总和*/ aaveaave/N; /*求平均分*/ 7 N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,其功能是:求出平均分,并由函数值返回。 例如,若学生的成绩是:85 76 69 85 91 72 64 87,则平均分应当是:78.625。 double fun(STREC *h) double av0.0; STREC *phnext; /*p直接指向头结点的下一个结点,即第一个成绩*/ while(p!NULL) . . avavps; /*求总分数*/ ppnext; return av/N; /*返回平均值*/ 8编写函数f。

3、un,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。 例如,若输入17,则应输出:4 6 8 9 10 12 14 15 16。 void fun(int m, int *k, int xx) int i,j,n0; for(i4;ia&*ttshanghai(为回车键),函数将返回shanghai。 char *fun(char *s, char *t) int i,j; for(i0;si! 0;i); /*求字符串的长度*/ for(j0;tj! 0;j); if(ij) /*比较两个字符串的长度*/ return s; /*函数返回较长的字符串,若。

4、两个字符串长度相等,则返回第1个字符串*/ . . else return t; 16学生的记录由学号成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:函数返回该学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置1,作为函数值返回。(用于字符串比较的函数是strcmp)。 STREC fun(STREC *a, char *b) int i; STREC str屻屜尰,1; /*若没找到指定的学号,在结构体变量中给学号置空串,给成绩置1) if(strcmp(ainum,b)0) /*找到指定学号的学生数据*/ s。

5、trai; return str; /*返回学生记录*/ . . 17编写函数fun,其功能是:将两个两位数的正整数a、b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上。 例如,当a45,b12时,调用该函数后,c 5142。 void fun(int a,int b,long *c) *cb_x0010_(a/10)*10(b/10)*100(a_x0010_)*1000; 18编写函数fun,其功能是:利用下面的简单迭代方法求方程cos(x)x0的一个实根。 xn1cos(xn) 迭代步骤如下: (1)取x。

6、1初值为0.0; . . (2)x0x1,将x1的值赋给x0; (3)x1cos(x0),求出一个新的x1; (4)若x0x1的绝对值小于0.000001,执行步聚(5),否则执行步聚(2); (5)所求x1就是方程cos(x)x0的一个实根,作为函数值返回。 程序将输出结果Root0.739086。 float fun() float x10.0,x0; do x0x1; x1cos(x0); while (fabs(x0-x1)1e6); return x1; . . 19规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串中的前导*号全部移到字符串的尾部。 例如,字符。

7、串中的内容为:*A*BC*DEF*G*,移动后,字符串中的内容应当是:A*BC*DEF*G*。在编写函数时,不得使用C语言提供的字符串函数。 void fun(char *a) int i0,n0; char *p; pa; while (*p*) /*判断*p是否是*号,并统计*号的个数*/ n;p; . . while(*p) /*将前导*号后的字符传递给a*/ ai*p;i;p; while(n!0) ai*;i;n; ai0; 20编写函数fun,其功能是:将两个两位数的正整数a、b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数。

8、依次放在c数的千位和十位上。 例如,当a45,b12时,调用该函数后,c1524。 void fun(int a,int b,long *c) . . *ca/10(b_x0010_)*10(a_x0010_)*100(b/10)*1000; 21编写函数fun,其功能是计算: s?ln(1)?ln(2)?ln(3)?ln(m)s作为函数值返回。 在C语言中可调用log(n)函数求ln(n)。log函数的引用说明为:double log(double x)。 例如,若m的值为20,则fun函数值为6.506583。 double fun(int m) int i; double s0.0; f。

9、or(i1;is; while(h!NULL) /*通过循环找到最高分数*/ if(maxs) maxhs; hhnext; return max; . . 31请编写函数fun,其功能是:找出一维整型数组元素中最大的值及其所在的下标,并通过形参传回。数组元素中的值已在主函数中赋予。 主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。 void fun(int a,int n, int *max, int *d) int i; *maxa0; *d0; for(i0;i100) b10; /*如果年龄大于等于100,b10自增1; /*如果年龄小于1。

10、00,则将其分别统计到bai/10中*/ . . 35学生记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组中,请编写函数fun,其功能是:把分数最低的学生数据放入b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生人数。 int fun(STREC *a,STREC *b) int i,j0,n0,min; mina0s; for(i0;i10000) return w_x0010_000; /*求出n位整数w的后n1位的数*/ if(w1000) return w_x0010_00; if(w100) return w_x0010_0; if(w10) re。

11、turn w_x0010_; 39请编写函数fun,该函数的功能是:将M行N列的二维数. . 组中的数据,按行的顺序依此放到一维数组中,一维数组中数据的个数存放在形参n所指的存储单元中。 例如,若二维数组中的数据为: 33 33 33 33 44 44 44 44 55 55 55 55 则一维数组中的内容应该是33 33 33 33 44 44 44 44 55 55 55 55 void fun (int (*s)10, int *b, int *n, int mm, int nn) int i,j,k0; for(i0;in) /*如果k大于n,则使p的前部保留n个星号,其后的字符依次存。

12、入数组a中*/ while(*p) ai*(pkn); i; p; ai0; /*在字符串最后加上结束标识位*/ 46编写函数fun,其功能是:将两个两位数的正整数a、b合并成一个整数放在c中。合并的方式是:将a数的十位和. . 个位数依次在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。 例如,当a45,b12时,调用该函数后c2514。 void fun(int a,int b,long *c) *ca/10(b/10)*10(a_x0010_)*100(b_x0010_)*1000; 47请编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将。

13、字符串转换为整数的函数)。例如,若输入字符串?,则函数把它转换为整数值1234。 long n0; int flag1; if(*p) /*负数时置flag为1;flag 1; else if(*p) /*正数时置flag为1 . . p; while(*p!0) nn*10*p0; /*将字符串转成相应的整数*/ p; return n*flag; 48编写函数fun,其功能是:求Fibonacci数列中大于t的最小的数,结果由函数返回。Fibonacci数列F(n)的定义为: F(0)0,F(1)1 F(n)F(n1)F(n2) 例如,当t1000时,函数值为1597。 int fun(i。

14、nt t) int f00, f11,f; do . . ff0f1; f0f1; f1f; while(fa&ssin) while(*p&pl&ais1e6); return sum; 58编写函数fun,它的功能是:根据以下公式求p的值,结果作为函数值返回。m与n为两个正数且要求mn。 pm!/(n!(mn)!) 例如,m12,n8时,运行结果为 495.000000。 float fun (int m, int n) int i; double p1.0; . . for(i1;ii) aaki; /*将求出的素数放入数组aa中. . */ return k; /*返回所求出的素数的个数*/ 62请编一个函数fun(char *s),该函数的功能是把字符串中的内容逆置。 例如,字符串中原有的字符串为abcdefg,则调用该函数后,串中的内容为gfedcba。 void fun(char *s) char ch; int i,m,n; i0; mnstrlen(s)1; while(i(n。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值