


免费预览已结束,剩余4页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一类 删除字符串中*号1-101.使字符串尾部的*号不多余N个char *t; int k=0;t=a;while(*t) t+;t-;while(*t=*) k+;t-;t+;if(kn) *(t+n)=0;2.将字符串的前导*号全部移到字符串的尾部int i=0,n=0; char *p ;p=a;whlie(*p=*) n+;p+;while(*p) ai+=*p+;while(n!=0) ai+=*;n-;ai=0;3.只删除字符串的前导和尾部的*号int i=0;char *p;for(p=a+h;pa+n-e;p+) ai+=*p;*(a+i)=0;4.除了尾部的*号之外,将字符串的其他*号全部删除int i=0;char *q=a;while(q=p)if(*q!=*) ai+=*q; q+;while(*q) ai+=*q+;ai=0;5.删除字符串中所有的*号int i=0;char *p=a;while(*p)if(*p!=*) ai+=*p; p+;ai=0;6.除了字符串的前导和尾部的*号以外,将串中的其他*号全部删除。int i=0;char *q=a;while(qh)ai=*q+;i+;while(qn)t=a+(k-n); while(*t) ai+=*t+; ai=0; 第二类 ab合并成c 111811将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的白位和个位上。例如:当a=45,b=12.调用该函数后,c=4152*c=a/10*1000+b/10*100+a%10*10+b%10;12将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的十位和千位上。例如:当a=45,b=12.调用该函数后,c=2415*c=b%10*1000+a/10*100+b/10*10+a%10;13将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的白位和个位上。例如:当a=45,b=12.调用该函数后,c=5142*c=a%10*1000+b/10*100+a/10*10+b%10;14将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。例如:当a=45,b=12.调用该函数后,c=2514*c=b%10*1000+a/10*100+b/10*10+a/10;15将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的千位和十位上。例如:当a=45,b=12.调用该函数后,c=1425*c=b/10*1000+a/10*100+b%10*10+a%10;16将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。例如:当a=45,b=12.调用该函数后,c=1524*c=b/10*1000+a%10*100+b%10*10+a/10;17将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。例如:当a=45,b=12.调用该函数后,c=4251*c=a/10*1000+b%10*100+a%10*10+b/10;18将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上。例如:当a=45,b=12.调用该函数后,c=5241*c=a%10*1000+b%10*100+a/10*10+b/10;第三类 结构体运算192819.把分数最高的学生数据放在H所指的数组中,分数最高的学生可能不只一个int i,j=0,n=0,max;max=a0.s;for(i=0;imax) max=ai.s;for(i=0;iN;i+)if(ai.s=max)*(b+j)=ai;j+;n+;return n;20.求出该学生的平均分放在记录的AVE成员中 平均分应当是78.875double av=0.0;int i;for(i=0;isi;av/=N;p-ave=av;21.按分数的高低排列学生的记录,高分在前int i,j;STREC t;for(i=0;iN-1;i+)for(j=i+1;jN;j+)if(ai.saj.s)t=ai; ai=aj; aj=t;22.找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。int i,max;max=a0.s;for(i=0;imax)max=ai.s;*s=ai;23.把低于平均分的学生的数据放在B所指的数组中,低于平均分的学生人数通过形参N传回,平均分通过 函数值返回。double aver=0.0;int i,j=0;*n=0;for(i=0;iN;i+) aver+=ai.s;aver/=N;for(i=0;iN;i+)if(ai.saver)bj+=ai;(*n)+;return aver;24.找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)int i,min;min=a0.s;for(i=0;iN;i+)if(ai.smin)min=ai.s;*s=ai;25.函数返回指定学号的学生数据,提定的学号在主函数中输入。若没找到指定学号,在结构体 变量中给 学号置空串,给成绩置-1int i;STREC h;for(i=0;iN;i+)if(strcmp(ai.num,b)=0)h=ai;break;elsestrcpy(h.num, ); h.s=-1;return h;26.把分数最低的学生数据放在b所指的数组中,注意;分数最低的学生可能不止一个函数返回分数最低的学生的人数int i,j=0, n=0,min;min=a0.s;for(i=0;iN;i+)if(ai.smin) min=ai.s;for(i=0;iN;i+)if(ai.s=min)*(b+j)=ai;j+;n+;return n;27.把高于平均分的学生数据放在b所指的数组中,高于平均分的学生的学生人数通过形参n传回,平均分通过函数值返回double aver=0.0;int i,j=0;*n=0;for(i=0;iN;i+) aver+=ai.s;aver/=N;for(i=0;i=aver)bj+=ai;(*n)+;return aver;28.把分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回(把60放在low中,把69放在high中)int i,j=0;for(i=0;i=1&ai.s=h) bj+=ai;return j;第04类将数组中指定内容删除293929.n个人的成绩存放在score数组中,编写函数fun,他的功能是;将int i,k=0;float aver=0.0;for(i=0;im;i+) aver+=scorei;aver=1.0*aver/m;for(i=0;im;i+)if(scoreiaver) belowk+=scorei;return k;30.删除字符串中的指定下标字符int i,j=0;for(i=0;ai!=0;i+) if(i!=n) bj+=ai;bj=0;31.将s所指字符串中除了下标为偶数,同时ASC值也为偶数的字符外,其余的全都删除int i,j=0,n;n=strlen(s);for(i=0;in;i+)if(i%2=0&si%2=0) tj+=si;tj=0;32.将s所指字符串中除了下标为奇数,同时ASC值也为奇数的字符外,其余的全都删除int i,j=0,n;n=strlen(s);for(i=0;in;i+)if(i%2!=0&si%2!=0) tj+=si;tj=0;33.将s所指字符串中除了下标为偶数,同时ASC值也为奇数的字符外,其余的全都不删除int i,j=0,n;n=strlen(s);for(i=0;in;i+)if(i%2=0&si%2!=0);else tj+=si;tj=0;34.将s所指字符串中ASC值为奇数的字符删除;s串中剩余字符所形成的一个新串放在t所指的数组中int i,j=0,n;n=strlen(s);for(i=0;in;i+)if(si%2=0) tj+=si;tj=0;35.将s所指字符串中下标为偶数的字符删除;s串中剩余字符所形成的一个新串放在t所指的数组中int i,j=0,n;n=strlen(s);for(i=0;in;i+)if(i%2!=0) tj+=si;tj=0;36.将s所指字符串中ASC值为偶数的字符删除;s串中剩余字符所形成的一个新串放在t所指的数组中int i,j=0,n;n=strlen(s);for(i=0;in;i+)if(si%2!=0) tj+=si;tj=0;37.从字符串中删除指定字符,同一字母的大,小写按不同字符处理int i=0;char *p=s;while(*p)if(*p!=c) si+=*p; p+;si=0;38.删除字符串中的所有空格int i=0;char *p=str;while(*p)if(*p!= ) stri+=*p; p+;stri=0;39.删除一维数组中所有相同的数,使之只剩一个。数组中的数已按有大到小的顺序排列,函数返回删除后数组中数据的个数int i,t,j=0,*p=a;t=p0;for(i=0;i=n) aj=t;return +j;第05类将满足一定条件的数放入指定数组中404540.求出1到1000之内能被7或11整除,但不能同时被7和11整除的所有整数int i,j=0;for(i=1;i1000;i+)if(i%7=0|i%11=0)&i%77!=0) aj+=i;*n=j;41.求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中(x=30 5)int i,j=0;for(i=1;i=x;i+)if(x%i=0&i%2!=0) ppj+=i;*n=j;42.将大于整数m且紧靠m的k个素数存放入xx所指的数组中int i,j,a=0;for(i=m+1;ak;i+)for(j=2;ji/2) xxa+=i;43.求出小于lim或等于lim的所有的素数并放在aa数组中int k=0,i,j;for(i=lim;i1;i-)for(j=2;ji/2) aak+=i;return k; 44.求出1到m之内(含m)能被 7 或 11 整除的所有的整数放在数组a中int i; *n=0;for(i=1;i=m;i+)if(i%7=0|i%11=0) a(*n)+=i;45.将所有大于1小于整数m的非素数存入xx所指的数组中,非素数的个数通过k传回int i,j; int t=0;for(i=4;im;i+)for(j=2;j=i/2;j+) if(i%j=0) xxt+=i;*k=t; 第06类统计数组中某一量的出现次数465046.统计在tt字符串中 a 到 z 26个字母出现的次数int i;for(i=0;i=a&*tt=z) pp*tt-a+;tt+; 47.求出ss所指字符串中的指定字符的个数 (例如:输入123412132 输入1 则输出3 ) int n=0;while(*ss)if(*ss=c) n+; ss+;return n;48.该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数(例如:asd asasdfg asd as zx67 asd mklo )int n=0;char *p,*r;while(*str)p=str; r=substr; while(*r) if(*r=*p)r+;p+; else break; if(*r=0) n+;str+;return n;49.统计各年龄段的人数。0至9岁年龄段的人数放在d0中;。100岁(含100岁)的人数放在的d10中int i,j;for(j=0;jM;j+) bj=0;for(i=0;iN;i+) if(ai100) bai/10+;else b10+;50.统计一行字符串中单词的个数,作为函数值返回。int i ,n;for(i=0;i=a&si=z&(si+1= |si+1=0) n+; return n;第07类在指定数组中挑出指定的元素515551.求数组的最大的元素在数组中的下标,并存放在k所指的存储单元中。int i, max;max=s0;*k=0;for(i=1;imax)max=si; *k=i;52.tt指向一个M行N列的二维数组,求出二维数组每列中的最小元素。并以此存放在pp所指的一维数组中。int i ,j,min;for(j=0;jN;j+)min=tt0j; for(i=0;iM;i+) if(ttijmin) min=ttij; ppj=min;53.找出一维数组元素中最大的值和它所在的下标,最大的值和他所在的下标通过形参返回。int i;*max=a0;*d=0;for(i=0;i*max) *max=ai;*d=i;54.将ss所指的字符串中所有的下标为奇数位置上的字母换为大写int i ,n;n=strlen(ss);for(i=1;i=a&ssi=z) ssi-=32;55.求出一个2*M整型二维数组中最大的元素的值,并将此值返回调用函数。int i,j,max;max=a00;for(i=0;i2;i+) for(j=0;jmax) max=aij;return max;第08类链表操作565756.N名学生的成绩已经在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。功能是:找出学生的最高分。double max=h-s;while(h!=0)if(h-smax) max=h-s; h=h-next;return max;57.N名学生的成绩已经在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。功能是:求出平均分。double ave=0.0;while(h!=NULL)ave+=h-s; h=h-next;ave/=N; return ave;第09类一维数组元素顺序的重新排列586158.移动一维数组中的内容;若数组中有n个整数,要求把下标0到p(p小于等于n)的数组元素平移到数组的最后int b=0,0,0,0,0,0,0,0,0,0,i,j=0;for(i=0;i=p;i+) bi=wi;for(i=p+1;in;i+) wj+=wi;for(i=0;i=p;i+) wj+=bi;59.移动字符串的内容,移动的规则如下;把第一到第m个字符平移到字符串的最后,把第m+1到最后的字符移到字符串的前部char bN; int i,j=0;for(i=0;im;i+) bj+=wi;for(i=0;istrlen(w)-m;i+) wi=wi+m;for(j=0;jm;j+) wi+=bj; 60.对长度为7个字符的字符串,除了首 尾 字符外,将其余的5个字符按ASC降序排列。char t;int i,j;for(i=1;inum-2;i+)for(j=i+1;jnum-1;j+)if(sisj)t=si;si=sj;sj=t;61.字符串的内容逆置char ch; int i,n;i=0;n=strlen(s)-1;while(in)ch=si;si=sn;sn=ch; i+; n-; 第10类二维数组方阵操作62-6862.使数组左下半三角的元素中的值全部置0int i,j; for(i=0;iN;i+)for(j=0;j=i;j+) aij=0;63.求出数组周边元素的平均值,并作为函数值返回主函数中。int i,j,k=0; double s=0.0;for(j=0;jN;j+)s+=w0j;s+=wN-1j;k+=2;for(i=1;iN-2;i+)s+=wi0;s+=wiN-1;k+=2;return s/=k;64.求出二维数组周边元素之和int i,j,s=0;for(j=0;jN;j+)s+=a0j;s+=aM-1j;for(i=1;iM-1;i+)s+=ai0;s+=aiN-1;return s; 65.实现矩阵(3行3列)的转置int i,j,t;for(i=0;i3;i+)for(j=0;ji;j+)t=arrayij; arrayij=arrayji; arrayji=t;66.使数组右上半角元素的值乘以mint i,j;for(j=0;jN;j+)for(i=j;iN;i+) aji=aji*m;67.实现B=A+A 把矩阵A加上A的转置,存放在矩阵B中int i,j;for(i=0;i3;i+)for(j=0;j3;j+) bij=aij+aji;68.使数组的左下半三角中的值乘以nint i,j;for(i=0;iN;i+)for(j=0;j=i;j+) aij=aij*n;第11类二维数组内容放入一维数组中697269.将M行N列的二维数组中的数据,按照列顺序放在一维的数组中(例如:WSHWSWSH) int i,j,k=0;for(j=0;jN;j+)for(i=0;iM;i+) bk+=sij;bk=0;70. 将M行N列的二维数组中的数据,按照行的顺序放在一维的数组中(例如:33 33 33 33 44 44 44 44 55 55 55 55) int i,j;for(i=0;imm;i+)for(j=0;jnn;j+) b(*n)+=sij;71.将字符串数组中(每串的长度不超过N),按顺序合并成一个新的字符串(例如:AAABBBBBBBCC)int i,j,k=0;for(i=0;iM;i+)for(j=0;aij!=0;j+) bk+=aij;bk=0;72.将M行N列的二维数组中的数据,按照列的顺序放在一维的数组中(例如:33 44 55 33 44 55 33 44 55 33 44 55)int i,j;for(j=0;jnn;j+)for(i=0;imm;i+) b(*n)+=sij;第12类纯数学运算73-9473.求出n以内(不包含n),同时能被3与7整除的所有的自然数之和的平方根s。 (n为1000时,函数值为 153.909064)double s=0.0; int i;for(i=0;in;i+)if(i%3=0&i%7=0) s+=i;s=sqrt(s);return s;74.计算并输出给定整数n的所有的因子(不包括1和自身)之和。规定n的值不大于1000。int s=0,i;for(i=2;in;i+)if(n%i=0) s+=i;return s; 75.Sn=1+1/1+1/2+1/3+1/4+.1/n (若n输入15,则输出s=2.718282)double s=1.0; int i,t=1;for(i=1;i=n;i+)t*=i;s+1.0/t;return s;76.求Fibonacci数列中大于t的最小的一个数,F(0)=0 F(1)=1 F(n)=F(n-1)+F(n-2) t=1000 时 函数值为 1597int a=0,b=1,c=0;while(c=t)c=a+b; a=b; b=c;return c;77.计算n门课程的平均分, 若有5门课程 成绩是 90.5 72 80 61.5 55 则函数值是71.80float ave=0.0;int i;for(i=0;in;i+) ave+=ai;ave/=n;return ave;78.计算s=(ln(1)+ln(2)+ln(3)+ln(m)(0.5次方) s作为函数值返回int i; double s=0.0;for(i=1;i=m;i+) s+=log(i);s=sqrt(s);return s; 79.计算并输出给定数组(长度为9)中每相邻两个元素之平均值的平方根之和double sum=0.0;in i;for(i=0;j8;i+) sum+=sqrt(xi+xi+1)/2.0);return sum;80.计算并输出(包括n)以内能被5或9整除的所有自然数的导数之和int i; double sum=0.0;for(i=0;i=n;i+)if(i%5=0|i%9=0) sum+=1.0/i;return sum;81.计算并输出3到n之间所有素数的平方根之和。int k,i;double s=0.0;for(i=3;i=n;i+)for(k=2;ki/2) s+=sqrt(i);return s; 82.计算并输出S=1+(1+20.5)+(1+20.5+30.5)+(1+20.5+30.5+40.5+n0.5)int i;double s=1.0,p=1.0;for(i=2;i=1e-6) return x1;84.请编写一个函数 unsigned fun (unsigned w) w是一个大于10的无符号整数(若w值为5923 则函数返回923. )unsigned t;if(w10000) t=w%10000;else if(w=1000) t%1000;else if(w=100) t%100; else if(w=10) t%10;return t;85.请编写函数float fun(float h) 函数的功能是对变量的值保留2位小数,并对第三位四舍五入(例如:h值为8.32533)long t;float f;t=h*100+0.5;f=1.0*t/100;return f;86.int i;float s=1.0,t=1.0;for(i=2;i=n;i+)t+=i;s+=1/t;return s;87.float p,t=1.0;int i;for(i=1;i=n;i+) t*=i;p=t;for(i=1,t=1.0;i=m-n;i+) t*=i;p*=t;for(i=1,t=1.0;i=eps
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年建筑施工安全管理信息化在工程项目中的应用案例分析
- 2025年婴幼儿配方食品营养配方优化对婴幼儿视力发育的影响研究
- 2025年城市轨道交通智慧运维系统建设与智能运维管理优化策略深度报告
- 轻化工专业试题及答案解析
- 2025年塔吊维修证考试题及答案
- DB65T 4404-2021 植保无人飞机防治棉花病虫害作业规程
- 敬业专业实践面试题及答案
- 2025年新能源行业企业绿色建筑技术应用与效果分析报告
- 电厂防雷应急预案(3篇)
- 低温工作应急预案(3篇)
- 2025年廉价航空行业研究报告及未来发展趋势预测
- 新能源企业盈利能力分析-以比亚迪股份有限公司为例
- 国家奖学金申请答辩汇报
- 教室布置方案(模板)
- 2024年辽宁省地矿集团招聘真题
- 2025年上海入团考试试题及答案
- 2025年绿化工技师试题及答案
- 2025年《土地管理法》考试试题及答案解析
- 【《基于哈佛分析框架的爱尔眼科公司财务分析(数据图表论文)》13000字】
- 2025至2030年中国机织服装市场现状分析及前景预测报告
- 榆林市无人机管理办法
评论
0/150
提交评论