加强版程序设计答案word版_第1页
加强版程序设计答案word版_第2页
加强版程序设计答案word版_第3页
加强版程序设计答案word版_第4页
加强版程序设计答案word版_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1.1题目:请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。例如:若字符串数组中的M个字符串为AAAA,“BBBBBB,CC呗9合并后的字符串内容应 该是“AAABBBBBBCC注意:请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语可。int i,j, k=0;for (i=0;i n.如样张”。P=m!/n! (m-n)!)例如:m=12,n=8时,运行结果为495 000000注意请勿改动主函数main和其他函数中的任何内容。仅在函数fun的花括号中填入你编写的若干语句。(参考百度)

2、float p ; Ip=1.0*jc(m)/jc(n)/jc(m-n); return p; |2.1功能:对长度为8个字符的字符串,将8个字符按降序排列。例如:原来的字符串为CEAedcab,排序后输出为edcbaECAint i,j;char t;for(i=0;imum; i+)for (j=i+1;j nu m;j+) if(sisj)t=si;si=sj;sj=t;2.2编写程序,实现矩阵(3行、3列)的转置(即行列互换)。例如,若输入下面的矩阵:100 200 300400 500 600700 800 900则程序输出:100 400 300200 500 800300 600

3、 900 int i,j,t;for(i=0;i3;i+) for(j=i+1;j3;j+)t=arrayij; arrayij=arrayji; arrayji=t;0;j+)m与n为两个3.1题目:编写函数fun,其功能是:将a、b两个两位正整数合并成一个新的整数放在 合并的方式是:将a中的十位和个位数依次放在变量c的千位和十位上,b中的十 位和个位数依次放在变量c的个位和百位上。例如:当a=45,b=12,调用该函数后c=4251注意:请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入 你编写的若干语句。*c=b/10+(a%10)*10+ (b%10)*100+

4、 (a/10)*1000;3.2题目:编写函数fun,其功能是:求出1100之间能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。注意:请勿改动主函教main和其它函数中的任何内容,仅在函数fun的花括号中填入 你编写的若干语句。int i,j=0;for (i=1;i=100;i+)if (i%7=0|i%11=0)&i%77!=0) aj+=i;*n=j;4.1题目:编写通数fun,其功能是;将s所指字符串中ASCII值为奇数的字符删除,剩余字 符形成的新串放在t所指数组中。例如:若s所指字符串中的内容为:“ABCDEFG123

5、45其中字符的ASCII码值为奇数字符1的ASCII码值也为奇数,都应当删除,其它依此类推。最后t所指的数组中的内容应是:“BDF24 int i,j=0;for (i=0;istrlen(s);i+) if (si%2=0) tj+=si; tj=0;4,2请编写一个函数,用来删除字符串中的所有空格。 例如,输入asd af aa z67 .则输出为 i=0; char *p=str; while (*p)c中。if(*p!=)stri=*p; i+;p+ ;stri= 0 5,1(待议)题目:请编fun函数写程序, 从键盘输入百分制成绩, 要求输出等级制成绩A、

6、B、C、D。90100分为A,8089分为B,6079分为C,159分为Dt不考虑小数,输入为整数,输出为字符。 (参考百度 )char fun (int n) char p;if (n=9|n=10)p=A;else if (n=8)p=B;else if (n=6|n=7) p=C;else p=D; return (p);5,2题目:请编写函数fun,其功能是:将一个数字字符串转换为一个整数不得调用c语言提供的将字符串转换为整数的函数)。例如:若输入字符串“一1234,则函数把它转换为整数值一1234。注意:请勿改动主函教main和其它函数中的任何内容,仅在函数fun的花括号中填入 你编

7、写的若干语句。long n=0; int flag=1; if (*p=- )p+;flag=-1; else if(*p=p+; while(*p!=n=n*10+*p-p+;return n*flag;6,1请编写函数fun,函数的功能是:移动一维数组中的内容,若数组中有n个整数, 要求把下标从0p(含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。int i,j,t; for(i=p+1;ii-p-1; j-)t=wj ;w j

8、=w j-1;w j-1 =t;6,2功能:编写函数求3!+6!+9!+12!+15!+18!+21!int i,j ;float t,s=0;for (i=3; i=n; i=i+3)t=1;for(j=1:j=i; j+)t=t*j ;s=s+t; +)0)0;return(s) ;7,1请编写函数fun,其功能是计算并输出如下多项式的值。Sn=1+1/1! +1/2! +1/3! +1/4!+.+1/n!例如,若主函数从键盘给n输入15,则输出为S=2.718282。double t,sn=1.0;int i,j; for(i=1;1=n;i+)t=1.0;for(j=1;j=i;j+)

9、 t*=j;sn+= 1.0/t;return sn;7,2已知学生的数据由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录, 通过形参返回主函数(规定只有一 个最高分)。已给出函数的首部请完成该函数。int i;*s=a0; for(i=0;is ai.s)*s=ai;8.1功能,求1到W之间的奇数之和。(W是大于等于100小于等 于1000的 整数) int sum=0;int i;for(i=1;i=w;+i)if(i%2!=0) sum+= i;return sum;8.2功能:找出一批正整教中的最大的偶数。int i,a

10、max=-1;for (i=0; iamax) amax=ai ; return amax;9.1(好像没法输出,关键字匹配100%,9分)在键盘上输入一个3行3列矩阵的各个元素的 值(值为整数),然后输出主对角线元素的积,并在fun()函数中输出。int sum;int i,j;sum=1;for (i=0;i3;i+)sum=sum*aij;return sum;1K42flK42fl d d分)/-【程序设计3 3硏A越丽譎課聘中如finclultfinclult . kk voidvoid vwjtvwjt 0 0; inOinOifttiftt b b jojo ss【3 3】;fo

11、rfor Ci=0;i3Ci=0;i3;i+)i+)forfor G=OJOG=OJO;j+*)j+*) ictftfictftf (*M*,(*M*,prpr i i ntnt f f (*Siii=Wn(*Siii=Wn );); wwjtwwjt 0 0:i&li&l uM(iatuM(iat tt3tt3 3)3)VQldVQld WjtWjt 0 0FILEFILE ! ! . . *0W,*0W, inlinl intint ; ;ihtiht i i. . iMiM ; ;IV=f4pnCiitIV=f4pnCiit datdat *r*);*r*); ifai=

12、MULL)ifai=MULL)prmtfprmtf CRtadCRtad FILEFILE Error*);Error*);OVr=foptnCoal.OVr=foptnCoal. 4 4 ll * * *)*); tfCOVTtfCOVT llULL)llULL)yrifttf(*IriFILEyrifttf(*IriFILE Brror*);Brror*);4G4G HillHill GiilllGiilll OK/sQ)OK/sQ)14:051/182 2備 IIII4G4G .Illi.Illi GiilllGiilll 0K/$O0K/$O m mI/IS/voidvoid wwjt

13、wwjt 0 0nunu *IK*0UT;*IK*0UT;ifttiftt ; ;intint n;n;ifttiftt i i;intint 0 0;IV=foptnCin.IV=foptnCin. lttltt *r*);*r*); ifCni=MULL)ifCni=MULL)printfCBtadprintfCBtad FILEFILE Error*);Error*);OVrfoptnCoutOVrfoptnCout dttdtt *r*)*r*) if(OUT=IULL)if(OUT=IULL)printfCfriltprintfCfrilt FILEFILE Error*).Erro

14、r*).forfor Gfc=0;Gfc=0; O O: +)+)fcrfcr (n=0;(n=0; u3u3 ;n+);n+) fictnffictnf a a虬W,W, AiAi n);n);fprintffprintf (OUT,(OUT, *X3n*,*X3n*, o);o);fclcsifclcsi GV);GV); fclosem);fclosem);舊案:一intint suisui: intint ijij: sw=l;sw=l;forfor (i=0(i=0:i3i3:i+)i+)i;i;returnreturn sgsg:X43fiX43fi (1(1 分/*/*-tSff

15、tSff 设计】9.2请编写函数fun,其功能是:找出一维整形数组元素中最大的值及其所在的下标,并通 过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标,int i;*max=a0;*d=0;for(i=0;in;i+)if(*maxai)*max=ai;*d=i;10,1同字符处理。例如:若程序执行时输入字符串为turbo c and borland c+ +*出为turboc ad borlad c+ +如果输入的字符在字符串中不存在,则字符串照原样输出。int i=0; char *p; p=s; wh

16、ile(*p)if (*p!=c)si=*p; i+;p+;si=0long int x=1;int i: for(i=1;i=n; i+) x= x*m;return x;其功能是将一个数字字符串转换成与其面值相同的长整型整数。函数求字符串的长度。例如:在键盘输入字符串2345210,函数返回长整型数2345210。long fun(char *s) int i;sum=0,len; len=strlen(s); for(i=0;ilen;i+)题目:编写的数fun,其功能是:从字符串中删除指定的字符。同字母的大、小写按不从键盘上输入字符n则输10,2功能:编写函数fun,求任一整数m的n次

17、方。11.1题目:请编函数fun,可调用strlensum=sum*10+*s-48; s+;return sum;11.2题目:请编写函数fun,该函数的功能是:统计各年龄段的人数。机函数获得,并放入主函数的把1019岁年龄段的人数放在d1中,把2029岁年龄段的人数放在d2中,依此类推,把100岁(含100岁)以上年龄的人数都放在d10中。结果在主函数中输出.int i,n=0,fg=1;char *p=str;while (*P)n+;p+;for (i=0;in/2;i+)if (stri=strn-1-i)elsefg=0;break;return fg;12.1请编写函数fun,该

18、函数的功能是:求出二维数组周边元素之和,作为函数值返回。二 维数组中的值在主函数中赋予。int i,j,s=0; for(i=0;iM;i+) s=s+a i0+aiN-1; for(j=0;jN-1;j+) s=s+a 0j +aM-1j; returns;12.2功能:对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII制降序 排列。例如:原来的字符串为CEAede排序后输出为CadEAa.char ch; int i,j;for (i=I ;i6;i+)for(j=i+1;j6;j+)if (*(s+i)*(s+j)ch=*(s+j);*(s+j)=*(s+i);*(s+

19、i)=ch;N个年龄通过调用随age数组中。要求函数把09岁年龄段的人数放在d0中,函数,x,y均为整型,输入x值,输出y值。其中,a代表1到9中的一个数字。例如:a代表2, ,a和n的值由键盘键入。int t=a,i,s;for (i=1,s=0;i=n;i+)t=t*10+a;s=s+t;return s;14.1功能:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是: 将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十 位和千位上。例如: 当a=45,b=12, 调用该函数后,*c=a/10+(a%10)*100+(b/10)*10+(b%

20、10)*1000;14.2功能:编写函数fun其功能是:根据整型形参m,计算如下公式的值:y=1+1/3+1/5+1/7+1/(2m+1)例如:若m=9则应输出:2.133256 double y=0;int i;for (i=0;i=m;i+)y+=1.0/(2*i+1);return (y);15.1题目:请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字 符按ASCII码降序排列。例如:原来的字符串为CEAedca,排序后输出为CedcEAa。char ch ;int i,j;for(i=1;i6;i+) for(j=i+1;j6;j+)13.1有一函数:如样张所示

21、。请编funint y;if(x=0&x=10)y=x*x-5*x+6 ;elsey=x*x-x-1; return y;13.2求Sn=a+aa+aaa+.+aaa之值,则求2+22+222+2222+22222(此时n=5)c=2514。if(*(s + i) =5)return (int) (h*100+1)/100.0;elsereturn (int) (h*100)/100.0;16.1请编写一个函数int fun(int *s,int下标并存放在k所指向的存储单元中。 例如:输入如下整数: 876 675 896 101 301 401 980 431 451777t,in

22、t *k),用来求出数组的最大元素在数组中的则输出结果为6,980。int i; *k=0;for(i=0;it;i+)if(s*ksi)*k=i;return s*k ;16.2功能:从键盘输入一个大于3的整教,调用函数fun判断其是否素数,然后在main函 数中输出相应的结论信息。例如: 7是素数,8不是素数。请编写fun区擞。素数是仅能被1和自身整除的数int i;for( i= 2 ;in)while (*p&p t+n+1)ai=*p;i+;p+ ;ai= 0 ;17.2题目:用函数求一个n阶方阵右下三角元素的和(包括副对角线上的元素)。int i,j,k=0;for (i=0; iN; i+)for (j=N-1-i ;jN;j+) k=k+aij;return (k) ;18.1功能:用do-while语句求1100的累计和int i =1,sum =0; do sum = sum + i; i+;while (i=n); return sum ;18.2功能:用辗转相除法求两个整数的最大公约数。int r,t;if(nm) t=n;n=m;m=t; r=n%m ;while (r!=0) n=m;m=r;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论