




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
二级C语言编程算法精选一、数学计算1、编写函数doublefun功能是:根据公式计算s,计算结果通过形参指针sn传回;n通过形参传入。 1 1 1 1 1 S = - + - + 1 3 5 7 2n+1 doublefun(double *sn ,int n)int i,j=1;double s=0;for(i=0;i n。 m! P = n!(m-n)! doublefun(int m,int n)double i=1,x=1,y=1,z=1,p=0;for(i=1;i=m;i+) x=x*i;for(i=1;i=n;i+) y=y*i;for(i=1;i=(m-n);i+) z=z*i;p=x/(y*z);return p;3、编写函数fun,它的功能是计算:s=(ln(1)+ln(2)+ln(3)+ln(m)(0.5),s作为函数值返回。在C语言中可调用log (n)函数求ln (n)。 log函数的引用说明是: double log(double x) double fun(int m) int I;double s=0.0, log(double x);for(i=1;i=m;i+)s=s+log(i);s=sqrt(s);return s;4、编写函数doublefun(double h),它的功能是:四舍五入并保留两位小数doublefun(double h)long int i,j=1;if(h0) j=-1;h=-h;h=h*100+0.5;i=h;h=i/100.0;return h*j;5、编写函数fun功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为:F(0)=0,F(1)=1,F(n)=F(n1)F(n2) 例如:当t = 1000时,函数值为:1597。int fun(int t)int i,f0=0,f1=1,f2=f0+f1;while(f2=t)f0=f1;f1=f2;f2=f0+f1;return f2;6、编写函数fun功能是:求出1000以内能被7或11整除,但不能同时被7和11整除的数,存放到数组xx中,通过函数名返回个数。int fun(int *xx,int n) /* 1000传给形参n */int i,j=0;for(i=1;i0) a=a/10;n+;return n;8、编写函数unsigned fun(unsigned w),w是一个大于10的无符号整数,若w是n(n2)位的整数,则函数求出w后n1位的数作为函数值返回。例如:w 值为 5923,则函数返回 923; w 值为 923 则函数返回 23。unsigned fun(unsigned w) unsigned t,s=0,s1=1,p=0;t=w;while(t10) if(t/10)p=t%10;s=s+p*s1;s1=s1*10;t=t/10;return s;二、一维数组9、编写函数fun的功能是:将s所指字符串中的内容从小到大重新排列。char fun(char *s) /*形参部分还可写成char s或char sN */int i,j;char t;for(i=1;istrlen(s);i+)for(j=0;j sj+1) t= sj+1; sj+1=sj;sj=t;相似题:编写函数fun,对长度位7个字符的字符串,除首尾字符外,将其余5个字符按ascii码降序排列。10、请编写一个函数fun,其首部为: fun( int m, int *k, int xx)该函数的功能是: 将所有大于1小于整数m的非素数存入数组xx,非素数的个数由k传回;将所有大于1小于整数m的素数存入数组xx,素数的个数由k传回。fun( int m, int *k, int xx)int i,j,n=0; for(i=2;im;i+) for(j=2;ji;j+) if(i%j=0) break; if(ji) xxn+=i; *k=n; fun( int m, int *k, int xx) int i,j,n=0; for(i=2;im;i+) for(j=2;j=i) xxn+=i; *k=n;11、编写函数fun的功能是:将s所指字符串中内容倒序char fun(char *s)int i,j=strlen(s);char t;for(i=0;i0) stri=n%10;n/=10;i+; stri= 0;13、编写函数fun(int s,int *k,int n),找出数组中的最小值,并通过形参k传回。fun(int s,int *k,int n) int i,j=0;for(i=0;in;i+) if(sisj) j=i;*k=sj;14、函数fun的功能是:把a数组中的n个数和b数组中逆序的n个数一一对应相加、求平方,结果存放在c数组中。例如:若a数组中的值是:1、3、5、7、8b数组中的值是:2、3、4、5、8 调用该函数后,c中存放的数据是81、64、81、100、100 double fun(double *a,double *b)int i,j=n-1;for(i=0;i= a& ssi=z)ssi=ssi-32;16、请编写一个函数 fun (char *s),函数的功能是把 s 串中所有的字母改写成该字母的下一个字母,字母z改写成字母 a。大写字母仍为大写字母,小写字母仍为小写字母,其它的字符不变。 char fun (char *s)int i,j; for(i=0;i=a& si=A& siZ) si= si+1; else if(si=z| si=Z) si= si-25;17、编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。 int fun(char *ss, char c) int n=0;while (*ss) if(*ss=c)n+;ss+;return n;18、函数fun(int a,int *n,int y)的功能是: 删除数组a中值为y的元素,*n为 数组元素个数。fun(int a,int *n,int y)int i,j;for(i=0;i*n;i+)if(ai=y)for(j=i;j*n;j+) aj=aj+1;i-; (*n)-;19、编写fun函数,用该函数可以统计一个长度为2的子字符串sub在另一个字符串str中出现的次数。int fun(char *str,char *sub)int i,j=0;for(i=0;istrlen(str)-1;i+)if(stri=sub0&stri+1=sub1) j+;return j;20、函数fun的功能是:将s所指字符串中下标为偶数同时ASCII值也为偶数的字符删除, s中剩余的字符形成一个新串放在t所指的数组中。fun(char *s)int i,j=0;for(i=0;istrlen(s);i+)if(!(i%2=0&si%2=0) tj+=si;tj= 0;21、函数fun的功能是:对a数组中n种商品价格进行分段统计,商品各段价格的数目存到b数组中; 其中:价格为100元以下的个数存到b0中,价格为100元到199元的个数存到b1,价格为200元到299元的个数存到b2,价格为300元到399元的个数存到b3,价格为400元到499元的个数存到b4,价格为500元以上的个数存到b5中。int fun(int *a)int i; for(i=0;i6;i+) b=0; for(i=0;istrlen(a);i+) switch(a/100) case 0: b0+;break; case 1: b1+;break; case 2: b2+;break; case 3: b3+;break; case 4: b4+;break; default: b5+;或者 int fun(int *a)int i;for(i=0;i6;i+) b=0; for(i=0;istrlen(a);i+) if(a/1005) ba/100+; else b5+;相类似的程序如:函数fun的功能是:对指定字符在字符串a中出现的次数进行统计,统计的数据存到b数组中。其中:字符a出现的次数存放到b0中, 字符b出现的次数存放到b1 中,字符c出现的次数存放到b2中,字符d出现的次数存放到b3中,字符e出现的次数存放到b4中,其它字符出现的次数存到b5中。22、编写一个函数 void fun(char p1, char p2), 它的功能是: 实现两个字符串的连接(不使用库函数strcat)。void fun(char p1, char p2)int i,j=strlen(p1);for(i=0;istrlen(p2);i+) p1i+j=p2i;p1i+j= 0;23、请编写函数 int fun(int score, int m, int below),它的功能是:计算 score 中 m 个人的平均成绩 aver, 将低于aver的成绩放在 below 中, 通过函数名返回人数。int fun(int score, int m, int below)int i,aver,j=0,s=0;for(i=0;im;i+) s=s+scorei;aver=s/m;for(i=0;im;i+)if(scoreiaver) belowj+=scorei;return j;三、二维数组24、编写函数fun的功能是: 实现矩阵s(N行N列)的转置(即行列互换)int fun(int sNN) int i,j,t; for(i=0;iN;i+) /*将右上三角和左下三角对换,实现行列互换*/ for(j=i+1;jN;j+) t=sij; sij=sji; sji=t; 25、程序定义了MN的二维数组,并在主函数中自动赋值。请编写函数fun(int aN, int n),函数的功能是:使数组下半三角元素中的值乘以n;使数组上半三角元素中的值乘以n int fun(int aN, int n)int i,j; for(i=0;iM;i+) for(j=0;j=i;j+) aj=aj*n; int fun(int aN, int n)int i,j; for(i=0;iM;i+) for(j=i;jN;j+)aj=aj*n;26、序定义了MN的二维数组,并在主函数中自动赋值。请编写函数 fun,函数的功能是: 给数组周边元素置0值; 求周边元素之和。int fun(int aN, int n)int i,j; for(i=0;iM;i+) for(j=0;jN;j+) if(i=0|j=0|i=M-1|j=N-1) aij=0; int fun(int aN, int n)int i,j,s=0; for(i=0;iM;i+) for(j=0;jN;j+) if(i=0|j=0|i=M-1|j=N-1) s=s+aij; return s;27、请编写一个函数 void fun(int ttMN, int ppMN),tt 是一个 M 行 N 列的二维数组,求出每行或每列中最小元素,并依次放入 pp 数组中。tt 数组中的数由主函数从键盘读入。void fun ( int ttMN, int ppM)int i,j; for(i=0;iM;i+) ppi=tti0; for(j=0;jttij) pp=ttij; void fun ( int ttMN, int ppN) int i,j; for(i=0;iN;i+) ppi=tt0i; for(j=0;jttji) pp=ttji;四、结构体和链表28、已知学生的记录由学
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智慧港口自动化装卸设备智能搬运机器人市场前景预测报告
- 2025年休闲食品健康化转型与食品添加剂替代品研发报告
- 【高中语文】《为了忘却的记念》课件+统编版高二语文选择性必修中册+
- 2025年汽车零部件再制造产业市场潜力与增长动力分析报告
- 2025年金融租赁公司业务创新案例分析及风险防范策略报告
- 融合创新视角下2025年广播影视行业媒体融合的跨界营销策略分析报告
- 2025年化妆品零售行业自有品牌策略与竞争优势研究报告
- 2025年在线教育平台用户满意度提升策略与教育行业政策解读报告
- 护理员培训工作管理制度
- 不合格医用设备管理制度
- 9-马工程《艺术学概论》课件-第九章(20190403)【已改格式】.课件电子教案
- 河道测量方案
- 矿山环境保护ppt课件(完整版)
- 浙江开放大学商法二、简答题答卷
- 昆明万科工程样板点评及验收管理制度
- 机械设计课件:第4章 带传动
- 实验2:基本数据类型、运算符与表达式
- 增强教师职业认同感、荣誉感、幸福感-课件
- QC∕T 900-1997 汽车整车产品质量检验评定方法
- 年产10吨虾青素生产项目可行性研究报告
- 幼儿园大班绘本:《没有牙齿的大老虎》 PPT课件
评论
0/150
提交评论