下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1题/*【程序改错】功能:在一个一维整型数组中找出其中最大的数及其下标。*/ #include #define N 10/*found*/float fun(int *a,int *b,int n)int *c,max=*a;for(c=a+1;cmax)max=*c;/*found*/b=c-a;return max; void main() int aN,i,max,p=0;printf(please enter 10 integers:n);for(i=0;iN;i+)/*found*/get(%d,ai);/*found*/m=fun(a,p,N);printf(max=%d,pos
2、ition=%d”,max,p);序号 |答案1 int fun(int *鼻 int b, int n)23 5町皿媪);期二町皿%式“,a + i );4 巾型二Eun甩妞,N);第2题/*【程序改错】功能:为一维数组输入10个整数;将其中最小的数与第一个数 对换,将最大的数与最后一个数对换,输出数组元素。*/#include main()int a10;void input();void output();void max_min();input(a,10);max_min(a,10); output(a,10); void input(int *arr,int n) int *p,i;
3、p=arr;printf(please enter 10 integers:n);for(i=0;in;i+)/*FOUND*/scanf(%d,p); void max_min(int *arr,int n) int *min,*max,*p,t;min=max=arr;for(p=arr+1;parr+n;p+)/*FOUND*/if(*p*max)max=p;else if(*p*min) min=p; t=*arr;*arr=*min;*min=t;/*FOUND*/if(max=arr) max=min;t=*(arr+n-1);*(arr+n-1)=*max;*max=t; voi
4、d output(int *arr,int n)int *p,i;p=arr;printf(The changed array is:n);/*found*/while(i=0;ii;i+)或 for或 forfi=0;j=irl;i+)或圻- 1第3题/*【程序改错】功能:用起泡法对10个整数从小到大排序。*/ #include /*found*/void sort(int x,int n)int i,j,t;for(i=0;in-1;i+)/*found*/for(j=0;jxi+1)t=xj;xj=xj+1;xj+1=t; main()int i,n,a100;printf(please
5、 input the length of the array:n);scanf(%d,&n);for(i=0;in;i+)scanf(%d”,&ai);/*found*/sort(n,a);printf(output the sorted array:n);for(i=0;i=n-1;i+)printf(%5d,ai);printf(n);序号 I答窠I机重1void iort (int恪 intn)就void40rt(int xj int n)12hr(jWj依或Ew6=。;*口-1*-次:+)或 forG=Q;xj*+*1*)或式性层洪+*1*幻川14sort (if n);1第4题/*【
6、程序改错】功能:在一个已按升序排列的数组中插入一个数,插入后,数 组元素仍按升序排列。*/#include #define N 11 main() int i,number,aN=1,2,4,6,8,9,12,15,149,156;printf(please enter an integer to insert in the array:n);/*found*/scanf(%d”,&number) printf(The original array:n);for(i=0;i=0;i-)if(number=ai)/*found*/ai=ai-1; else ai+1=number;/*found
7、*/exit;if(numbera0) a0=number;printf(The result array:n);for(i=0;iN;i+)printf(%5d,ai);printf(n);权重iscenf瑞d ftnumber);12士。r Lt二卜乙 i#口,i -J 或 tor (i=l-Z;0=l ,13虹大品+14bsak:1第5题/*【程序改错】功能:求如下表达式:111S = 1 +1+2 1+2+31+2+3+n*/ #include main() int n;double fun(int n);printf(Please input a number:);/*FOUND*p
8、rint(%d,n);printf(%10.6fn,fun(n);/*found*/fun(int n) int i,j,t;double s;s=0;/*found*/while(i=1;i=n;i+);t=0;for(j=1;j=!; i+)或 for (i=l i+)或 for (i=l ;n+li ; i+)14s+=l.o/t;或或,匕 或 s+=1.0Hnt)t;或 s+=l 1第 6 题 /*【程序改错】 功能:利用二维数组输出如图所示的图形。*/#include #include /*FOUND*/#define N= 7main()char aNN;int i,j,z;for
9、(i=0;iN;i+)for(j=0;jN;j+)/*FOUND*/ aij=;z=0;for(i=0;i(N+1)/2;i+)for(j=z;jN-z;j+)aij=*;z=z+1;/*FOUND*/z=0;for(i=(N+1)/2;iN;i+)z=z-1;for(j=z;jN-z;j+)aij=*;for(i=0;iN;i+)for(j=0;jN;j+)/*FOUND*/ printf(%d,aij);printf(n);序号票改日gU 7工2*;3i=z-1; 或 工一一; 或 z=-1+I;4printfC玩第 7 题 /*-【程序改错】功能:将一个字符串中的大写字母转换成小写字母。
10、例如:输入aSdFG输出为asdfgo*/ #include/*found*/bool fun(char *c)if(*c=A)*c-=A-a; /*found*/ fun= c; main()/*FOUND*/char s81,p=s;gets(s);while(*p)*p=fun(p);/*found*/puts(*p); p+;putchar(n);char fur (char * c) return ic; 或 return t*cii;或 Fwlum漳e);char式册,怔工putchar Rp);或 printf 1tpi ;第8题/*【程序改错】功能:将若干学生的档案存放在一个文
11、件中,并显示其内容。*/#include struct studentint num;char name10;int age;; struct student stu3=001,Li Mei”,18,002,Ji Hua”,19,003,Sun Hao”,18;#include void main()/*FOUND*/struct student p;/*found*/cfile fp;int i;if(fp=fopen(stu_list,wb)=NULL) printf(cannot open filen);return;/*FOUND*/for(*p=stu;pstu+3;p+)fwrit
12、e(p,sizeof(struct student),1,fp);fclose(fp);fp=fopen(stu_list,rb);printf( No. Name agen);for(i=1;iname,(*p).age);fclose(fp);序号3和4的全部答案请见下图答案列表:(文才答宴列表:马工七(%44 部一IQs 纲dn, (*p)es ,伸p) arej ;f,:,r 3n: p*写tu*+;p+for (p=tn; * Hu十决制;p) for 6=5tu;M=tu*+*Z*;p for(jj=st-u; A5A+AXiP+printf Ci 犷1。工制 dn, p- rmw
13、 ,厂 hun/p-)弭 G;MTOs(*p),nim f Rp).工所电,t*p) M号。;f rint El %1 d.,L Qz%4d n p- mom. p- r.am er 怦pj ae :; printEC*3S4di-10541 n”,你p) 一 num,厂XaniE, p-力ge); priqtE (飘4a nffj p-Swm,加).un/ (*pj. ige);第9题/*一【程序改错】功能:判断m是否为素数,若是返回 1,否则返回0。*/#include /*FOUND*/ void fun( int n) int i,k=1;if(m=1) k=0;/*found*/fo
14、r(i=1;im;i+)/*found*/if(m%i=0) k=0;/*found*/return m;int main()int m,k=0;for(m=1;m100;m+)if(fun(m)=1)printf(%4d,m);k+;if(k%5=0) printf(n);序号 |答案1 irkt fun( intm)或un (intit)2 for Ci=2: ii : i+t)或 for (i=2: i+)或 for (i=2 :m-l=i : i+)3 if(#m斯二二心口;4 return k;第10题/*【程序改错】功能:用下面的和式求圆周率的近似值。直到最后一项的绝对值小于等于0
15、.0001。兀 111=1 + - + .4357*/ #include /*found*/#include fun()int i=1;/*found*/int s=0,t=1,p=1;/*found*/while(fabs(t)l t4)磴 while (0. 0001 fsbs (t) whilt(t)或 while Cfibs (tJX.OOO.4 printsCpi n,;第11题/*【程序改错】功能:求1到20的阶乘的和。*/ #include fun()int n,j;float s=0.0,t=1.0;for(n=1;n=20;n+) /*FOUND*/s=1;for(j=1;j
16、=n;j+)/*found*/t=t*n;/*found*/s+t=s;/*FOUND*/printf(jiecheng=%dn,s); main()fun();t E * + J t = t. s 或或Ms- I - I JIJ t X-n能或e3- I I e-J t eflr ft- E- t =一一 r第12题/*【程序改错】功能:输出Fabonacci数列白前20项,要求变量类型定义成浮点型, 输出时只输出整数部分,输出项数不得多于或少于20。*/#include fun()int i;float f1=1,f2=1,f3;/*found*/printf(%8d,f1);/*foun
17、d*/for(i=1;i=20;i+)f3=f1+f2;/*found*/f2=f1;/*found*/f3=f2;printf(%8.0f,f1);printf(n);main()fun();序号答篥print 阈戢 pri 爪胃 fl);或“intfHSSf二日):fffrCi=l;i=i; i+ 或 fo .fl=E; 吟网第 13 题 /*-【程序改错】功能:计算正整数num的各位上的数字之积。 例如:输入252,则输出应该是20。*/#include long fun (long num)(/*FOUND*/ long k;do(k*=num%10;/*found*/num=10;w
18、hile (num); return k;main()(long n;printf(nPlease enter a number:);/*found*/scanf(%ld, n);/*found*/printf(n%ldn,fun(long n);序号 客集1 lent 卜 1;2 nii/=10;或 nrumFmim/,lO;3 患皿仙)i4 printf工皿):第 14 题 /*- 【程序改错】功能:已知一个数列从第0项开始的前三项分别为0、0、1,以 后的各项都是其相邻的前三项的和。下列给定程序中, 函数fun的功能是:计算并输出该数列的前 n项的平方根 之和sum,n的值通过形参传入。
19、例如:当n=10时,程序的输出结果应为23.197745*/#include #include /*found*/fun (int n)double sum,s0,s1,s2,s;int k;/*found*/sum=0.0;if(nn;k+)s=s0+s1+s2;sum+=sqrt(s);s0=s1;s1=s2;s2=s;return sum;main()int n;scanf(%d,&n);序号 I答案1double in (int nj)printf(%lfn,fun(n);2. 0;或 sujiI ;1312=1.0;或 s2=l;14for (k=4;k=k;kl-+)或 f&r Q
20、c=4; kt+1 :H+1 或 for (k=4PkL+;k+ 或 . . .1第15题/*【程序改错】7。功能:求出两个非零正整数的最大公约数,并作为函数值返回。例如:若给numl和num2分别输入49和21,则输出的最大公约数为*/#include int fun(int a,int b)int r,t;if(ab)t=a;/*FOUND*b=a;/*FOUND*a=t; r=a%b;while(r!=0)a=b;b=r;/*FOUND*r=a/b;/*FOUND*return a;main()int num1,num2,a;scanf(%d%d,&num1,&num2);a=fun(n
21、um1,num2);printf(the maximum common divisor is %dnn,a);序号答案1a=t;2b=l;3r=4b:4return 1);或 return (b);或 return(b);第 16 题 /*-【程序改错】功能:先从键盘上输入一个 3行3列矩阵的各个元素的值,然后输出主对角线上的元素之和sum。*/#include void fun()int a33,sum;int i,j;/*found*/a=0;for(i=0;i3;i+)for(j=0;j3;j+)/*found*/ scanf(%d,aij);for(i=0;i3;i+)/*found*
22、/ sum=sum+aij;/*found*/printf(sum=%fn,sum); main() fun();序号 I告案 12 1canfrW/息血i j );3 弓M二弓Wil*卜式i,或 sum+=i.jri.4 pr intf T wumKdAn,sum);第17题/*【程序改错】功能:找出大于 m的最小素数,并将其作为函数值返回。*/#include #include int fun( int m) int i,k;for(i=m+1;i+) /*FOUND*/for(k=1;ki;k+)/*found*/if(i%k!=0) break;/*found*/if(ki)/*fou
23、nd*/return k;main()int n;scanf(%d,&n);printf(%dn,fun(n);Lfar(k=E;ki;k+) for ifor(X=2;k=i-lfor (k=2;ki/2;kt+3 for.2 if或 注4) brakj3 : ifGUk)或 if OX 口 或 if1*k*二或 ifQs 足讨用 或或4 return i; 或 returni);第18题/*【程序改错】功能:实现3行3列矩阵的转置,即行列互换*/ #include fun(int a33,int n) (int i,j,t;for(i=0;in;i+)for(j=0;jn;j+)/*fou
24、nd*/scanf(%d,a皿); for(i=0;in;i+)(for(j=0;jn;j+) printf(%4d,aij);printf(n);for(i=0;in;i+)/*FOUND*/for(j=0;jn;j+)/*FOUND*/aij=t; aij=aji; /*FOUND*/ t=a皿i;for(i=0;in;i+)for(j=0;jn;j+)printf(%4d,a皿);printf(n);main()int b33;fun(b,3);序号 I答案I或近1 icinf ft*Lij);或 icinf (*) + j);2 for Q=O;ji; j+)或 for J+)或 fo
25、r G=O J =j ; j+) *orO=i. . . J3 t=aij:4 tj Li)=t;1第19题/*【程序改错】功能:实现两个字符串的连接。例如:输入dfdfqe和12345时,则输出dfdfqe12345.*/#include main() char s180,s280;void scat(char s1口,char s2);gets(s1);gets(s2);scat(s1,s2);puts(s1);void scat (char si口,char s2口) int i=0,j=0;/*FOUND*/while(s1i= =0)i+;/*FOUND*/while(s2j= =0
26、) /*found*/s2j=sii;i+;j+;/*FOUND*/s2j=0;序号 |答案T)或 while (si d;巅时皿峡式收!*2式IO*)或 *显1 电(式)或 小门1/口!=0)3al i = s2j;4sli=J :或 中(工 1+1片VT :或第20题/*/*【程序改错】功能:有一数组内放 10个整数,要求找出最小数和它的下标,然后把它和数组中最前面的元素即第一个数对换位置*/ #include main() int i,a10,min,k=0;printf(n please input array 10 elementsn);for(i=0;i10;i+)/*FOUND*
27、/scanf(%d, ai);for(i=0;i10;i+)printf(%d,ai);min=a0;/*FOUND*/for(i=3;imin) min=ai;k=i;/*FOUND*/ak=ai;a0=min;printf(n after eschange:n);for(i=0;i10;i+)printf(%d,ai);printf(nk=%dnmin=%dn,k,min);izanfr 俎.负 Mi) j2fflr (i=l; i 10; i+)弱 fCi=0;iia: i+)或 ur(i=l或 for U=0 ; i+ + i f4ifkJ-ftiQli第21题/*【程序改错】功能:用“起泡法”对连续输入的十个字符排序后按从小到大的次序 输出.*/ #include #include #define N 10 sort(char strN)int i,j; char t;for(j=1;jN;j+)/*FOUND*/for(i=0;iN-j;i-)/*FOUND*if(stristri+1)t=stri;stri=stri+1; stri+1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年深圳中考生物答题技巧特训试卷(附答案可下载)
- 创新性营销思维培训课件
- 肾部保养专业知识课件
- 2026年大学教授高级招聘考试模拟题
- 环保行业职业规划
- 中国的商业和旅游业
- 刑事拍照技术
- 切格瓦拉介绍
- 联邦重工介绍
- 当前银发人群生活服务消费的新特征及政策建议(美团研究院)
- ESC2023年心脏起搏器和心脏再同步治疗指南解读
- 五年级上册道德与法治期末测试卷推荐
- 重点传染病诊断标准培训诊断标准
- 超额利润激励
- GB/T 2624.1-2006用安装在圆形截面管道中的差压装置测量满管流体流量第1部分:一般原理和要求
- 兰渝铁路指导性施工组织设计
- CJJ82-2019-园林绿化工程施工及验收规范
- 小学三年级阅读练习题《鸭儿饺子铺》原文及答案
- 六宫格数独100题
- 厨房设施设备检查表
- 杭州电子招投标系统使用办法
评论
0/150
提交评论