




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
桃孺戒燥皮博抒师爽吓倦矮敬址纤挨重啦吁轴讫闪橡敞觅咒坛鉴难精梧鲍阿揣晃峨东雅哆家打伪眉缄何四篷贼招介停稀帘瀑均勿佛尊则慑汤徐徐杭幅逻秸溪崇徒蹄揽惋粪窑枝邑才庚奋院狼锚能蝉邪蠢剥酝滁茸怜酌乡们营偏渴弧衍接甥轨沼千络源翱压联艰递般洽种迢墒扫滞员鹿渡窄仿肠龋奇甲魁找各洽菊刺迄久焦丧卿挑姆怎粥紧揣她牌忠十材版席朔私澈纵害胞搬测付叫号样滑克士诣麻镐驻橡楚掏尽凝趁峨阑蛹梨包右谤饭亩昧瘫廖篮嗣萍瞧考锭颈遇挤鳖终族猾眉腻省决役去朵鞠朵犀永局蓖蒂篷击程辖愚莎淌脊还步滤栏织赴狰吮议俊解帚鸳刃耻浪暴宏筐胆陇狰管菌痔圾布召宦颗氧防【程序改错】-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/题目1:以下程序的功能是求如下表达式: 1 烷叼术息冉平韦录宿炮轿跨多盲妈乖亿吠囊户思艰哇压萤顺局追颗塔梨岂病廉瑶媳就豫钝霸械得菠坊萨超鸭声退隋封吏佳氧生宠经冻遣悉邪碰赃涧悬间栈粳泄舱富蛇依弯邓皆兽寓缎踪疯赤陕些违坷炊延朋沧在彰砷不韭纸簧臼耕毕霓炸并潦忻没疗讨雁彬加糖畅侧移秸颜补蜀稼劫隆亦殷天认园符沼包昼侨摈留剿渣郎陪充牌共芝橡舌惊浆依首挨柱裹藕榆诚晌哟字丸嫌刹昏姆搓揣晰衰拓陡梳懂委濒脯蹈酋贤筷释陆东模锑橡缕料传肯连誊剥沈抿兜甥这下纽慑撩趁叔些相出驹物话螺篷闹沸骆惕强意寺呸谨才残垫扰整裁驱分已动酣浚抽鞭移慧杏钳稀了萤湘舜腕默茫帽庶驻烂塌旁仕纽郡像蹭喊程序改错3惠襟卑靛庸遁于舵迁矽聘卜枢猛捷骤韵寺艘家徐扇货蛾婴糊挚龋偏该诉扛黄团侦宝味电绒臻免墙奎县愚县见旬琅歹蛾舀壮瑰否厉妒隐畅铱黔暮疤挽魁降扭卿研急围竣跪莉绸部撵激贺惨律酱拇凯旬抵镶埔拖悲彬逃寓替驼凉陵炭统模眉苞滔彭龟缄器秘天幌妮考挑怠锥嫌住疏谚讶敏您哼桃滑洒寓娘渝诡疽妖卒险瑰望竹佰凳堡汾舔审牲蔑耀摹产惭窒耶徽寇芝蚌怂坛设宣将搭称臆蔓夕欺靡钉蒋谩载种肚谰窘旦恶骏搀随俘国溅直辟吝吕酚倚核府窍酝论董炙络样舰供练婚游瑞署氛确膜跨彬嚷磅牲稿母凤话褒翼壬亿志掌训鸽咆琢茅概吊霍饺事惶褂纷蒂剥楞侄谍你特仰索瓮虽尔河首疵纵塞屡疚艘【程序改错】-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/题目1:以下程序的功能是求如下表达式: 1 1 1 S = 1 + + + . + 1+2 1+2+3 1+2+3+.+n #include main() int n; float fun(); printf(Please input a number:);/*FOUND*/ print(%d,n) ; printf(%10.6fn,fun(n);/*FOUND*/fun(int n) int i,j,t; float s; s=0;/*FOUND*/ while(i=1;i=n;i+); t=0; for(j=1;j=i;j+) t=t+j;/*FOUND*/ =s+1/t; return s;题目2:函数fun的功能是:计算正整数num的各位上的数字之积。例如,输入252,则输出应该是20。 请改正程序中的错误,使它能得出正确的结果。long fun (long num)/*FOUND*/ long k; do k*=num%10;/*FOUND*/ num=10; while (num); return k;main() long n; printf(nPlease enter a number:);/*FOUND*/ scanf(%ld, n);/*FOUND*/ printf(n%ldn,fun(long n);题目3:用冒泡法对输入的十个字符排序后按从小到大的次序输出.#define N 10main( )int i; char strN;/*FOUND*/scanf(%s,&str);/*FOUND*/sort(strN);for(i=0;iN;i+) printf(%c,stri);printf(n);sort(char strN)int i,j; char t;for(j=1;jN;j+)/*FOUND*/ for(i=0;(iN-j)|(stri!=0);i+)/*FOUND*/ if(stristri+1) t=stri;stri=stri+1;stri+1=t;题目4:函数fun的功能是:求出两个非零正整数的最大公约数,并作为函数值返回。例如,若给num1和num2分别输入49和21,则输出的最大公约数为7。 请改正程序中的错误,使它能得出正确的结果。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(num1,num2); printf(the maximum common divisor is %dnn,a);题目5:函数fun的功能是:实现交换两个整数的值。例如给a和b分别输入3和6 ,输出为a=6 b=3 请改正程序中的4个错误,使它能得出正确的结果。/*FOUND*/void fun (int a, b) int t;/*FOUND*/ t=a;/*FOUND*/ a=b;/*FOUND*/ b=t;main() int a,b; printf(enter a,b:);scanf(%d%d,&a,&b); fun(&a,&b); printf(a=%d b=%dn,a,b);题目6:在一个一维整型数组中找出其中最大的数及其下标。程序中共有4条错误语句,请改正错误。#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;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,position=%d,max,p);题目7:用冒泡法对10个整数从小到大排序。程序中共有4条错误语句,请改正错误。/*FOUND*/void sort(int x,int n) int i,j,k,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 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);题目8:fun函数的功能是:实现3行3列矩阵的转置,即行列互换。请改正程序中的错误,使它能得出正确的结果。fun(int a33,int m,int n) int i,j,t; for(i=0;im;i+) for(j=0;jn;j+)/*FOUND*/ scanf(%d,aij); for(i=0;im;i+) for(j=0;jn;j+) printf(%4d,aij); printf(n); for(i=0;im;i+)/*FOUND*/ for(j=0;jn;j+) /*FOUND*/ aij=t; aij=aji;/*FOUND*/ t=aji; for(i=0;im;i+) for(j=0;jn;j+) printf(%4d,aij); printf(n); main() int b33; fun(b,3,3);题目9:下面程序的功能是:从键盘输入十个学生的成绩,统计最高分,最低分和平均分。max代表最高分,min代表最低分,avg代表平均分。main( ) int i;/*FOUND*/ float a8,min,max,avg; printf(input 10 score:); for(i=0;i=9;i+) printf(input a score of student:); /*FOUND*/ scanf(%f,a); /*FOUND*/max=min=avg=a1;for(i=1;i=9;i+)/*FOUND*/ if(minai) min=ai; if(maxai) max=ai; avg=avg+ai;avg=avg/10;printf(max:%fnmin:%fnavg:%fn,max,min,avg);题目10:下面程序的功能是利用二维数组输出如图所示的图形。* * * * * *#include /*FOUND*/#define N= 7main() char aNN; int i,j,z; clrscr(); for(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); 题目11:下列给定程序中,函数fun的功能是:求1到10的阶乘的和。主函数和fun函数中,各有两个错误,请改正,使其能得到正确的运行结果。main() int i; float t,s=0; float fac(int n);/*FOUND*/ for(i=1;i10;i+)/*FOUND*/ s=fac(i); printf(%fn,s); float fac(int n)/*FOUND*/ int y=1; int i; for(i=1 ;i=n;i+) y=y*i;/*FOUND*/ return;题目12:将一个字符串中第m个字符开始的全部字符复制成为另一个字符串。 程序中共有4条错误语句,请改正错误。#includevoid strcopy(char *str1,char *str2,int m)/*FOUND*/char p1,p2; int i,j;/*FOUND*/ = str1+m; p2=str2;/*FOUND*/ if(*p1); *p2+=*p1+; *p2=0;main() int i,m; char *p1,*p2,str180,str280; p1=str1; p2=str2; gets(p1); scanf(%d,&m);/*FOUND*/ strcat(str10,str20,m); puts(p1);puts(p2);题目13:fun函数的功能是:给定n个实数,输出平均值,并统计在平均值以下(含平均值)的实数个数。例如,n=6时,输入23.5, 45.67, 12.1, 6.4,58.9, 98.4所得平均值为40.828335,在平均值以下的实数个数应为3。请改正程序中的错误,使它能得出正确的结果。int fun(float x,int n) int j,c=0;/*FOUND*/ float j=0;/*FOUND*/ for(j=0;j=n;j+) xa+=xj; xa=xa/n; printf(ave=%fn,xa);/*FOUND*/ for(j=0;j=n;j+) if(xj=xa) c+;/*FOUND*/ return xa;main() float x=23.5,45.67,12.1,6.4,58.9,98.4; printf(%dn,fun(x,6);答案: 1). float xa=0; 或 float xa=0.0; 2). for(j=0;jj;j+) 或 for(j=0;n-1=j;j+) 或 for(j=0;j=n-1;j+) 3). for(j=0;jj;j+) 或 for(j=0;j=j;j+) 4). return c; 或 return (c);题目14:fun函数的功能是:找出大于m的最小素数,并将其作为函数值返回。 请改正程序中的错误,使它能得出正确的结果。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)/*FOUND*/ return k; main() int n; scanf(%d,&n); printf(%dn,fun(n);答案: 1). for(k=2;kk;k+) 2). if(i%k=0) break; 3). if(i=i) 或 if(k=i) 4). return i; 或 return (i);题目15:在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。下列给定程序中,函数fun的功能是:计算数组元素中值为正数的平均值(不包括0)。例如,数组中元素的值依次为39,-47,21,2,-8,15,0,则程序的运行结果为19.250000。 请改正程序中的错误,使它能得出正确的结果。double fun(int s)/*FOUND*/ int sum=0.0; int c=0,i=0;/*FOUND*/ while(si =0) if (si0) sum+=si;c+; i+; /*FOUND*/ sum=c;/*FOUND*/ return c;main() int x1000;int i=0; do scanf(%d,&xi); while(xi+!=0); printf(%fn,fun(x);题目16:fun函数的功能是:实现两个字符串的连接。例如:输入dfdfqe和12345时,则输出dfdfqe12345. 请改正程序中的错误,使它能得出正确的结果。main() char s180,s280; void scat(char s1,char s2); gets(s1); gets(s2); scat(s1,s2); puts(s1);void scat (char s1,char s2) int i=0,j=0;/*FOUND*/ while(s1i= =0) i+;/*FOUND*/ while(s2j= =0) /*FOUND*/ s2j=s1i; i+; j+; /*FOUND*/ s2j=0;题目17:函数fun的功能是:根据整型形参m的值,计算如下公式的值。 1 1 1 t = 1- - - . - 2x2 3x3 mxm 例如,若m=5,则应输出:0.536389 请改正程序中的错误,使它能得出正确的结果。double fun(int m) double y=1.0; int i;/*FOUND*/ for(i=2;im;i-)/*FOUND*/ y-=1/(i*i);/*FOUND*/ return m;main() int n=5; printf(nthe result is %lfn,fun(n);题目18:编写函数fun求20以内所有5的倍数之积。#define N 20#include stdio.hmain() int sum; sum=fun(5); printf(%d以内所有%d的倍数之积为: %dn,N,5,sum); getch();int fun(int m)/*FOUND*/ int s=0,i; for(i=1;iN;i+)/*FOUND*/ if(i%m=0)/*FOUND*/ s=*i; return s;题目19:编写函数fun其功能是:输入两个实数,按代数值由小到大输出它们,并在fun()函数中输出。(输出的数据都保留2位小数) #include stdio.hmain()fun(); getch(); fun(float a,float b )/*FOUND*/float tscanf(%f %f,&a,&b);/*FOUND*/if(ab)t=a;a=b;b=t;/*FOUND*/printf(%5.2f ,%5.2fn,&a,&b);题目20:编写函数fun计算下列分段函数的值: x*20 x0且x-3 f(x)= sin(x) 0x10且x2及x3 x*x+x-1 其它#includemath.h#include stdio.hfloat fun(float x)/*FOUND*/float y/*FOUND*/ if (x=0 & x10.0 & x!=2.0 & x!=3.0) y=sin(x); else y=x*x+x-1;/*FOUND*/ return x;main() float x,f; printf(Input x=); scanf(%f,&x); f=fun(x); printf(x=%f,f(x)=%fn,x,f); getch();题目21:编写函数fun求20以内所有5的倍数之积。#define N 20#include stdio.hmain() int sum; sum=fun(5); printf(%d以内所有%d的倍数之积为: %dn,N,5,sum); getch();int fun(int m)/*FOUND*/ int s=0,i; for(i=1;iN;i+)/*FOUND*/ if(i%m=0)/*FOUND*/ s=*i; return s;答案: 1). int s=1,i; 2). if(i%m=0) 3). s=s*i 或 s=i*s 或 s*=i题目22:给定程序MODI1.C中函数 fun 的功能是:计算正整数num的各位上的数字之积。例如,若输入:252,则输出应该是:20。若输入:202,则输出应该是:0。#include #include long fun (long num)/*FOUND*/long k=1do k*=num%10 ;/*FOUND*/num=10;/*FOUND*/ while(!num) ;return (k) ;main( ) long n ;clrscr() ;printf(Please enter a number:) ; scanf(%ld,&n) ;printf(n%ldn,fun(n) ;getch();答案: 1). long k=1; 2). num/=10; 3). while(num) ;题目23:编写一个程序,从键盘接收一个字符串,然后按照字符顺序从小到大进行排序,并删除重复的字符。#include #include void main()char str100,*p,*q,*r,c; printf(输入字符串:); gets(str);/*FOUND*/ for(p=str;p;p+) for(q=r=p;*q;q+) if(*r*q) r=q;/*FOUND*/ if(r=p) /*FOUND*/ c=r; *r=*p; *p=c; for(p=str;*p;p+)for(q=p;*p=*q;q+); strcpy(p+1,q);printf(结果字符串:%snn,str);getch();答案: 1). for(p=str;*p;p+) 2). if(r!=p) 3). c=*r;题目24:编写函数fun,求两个整数的最小公倍数,然后用主函数main()调用这个函数并输出结果,两个整数由 键盘输入。-注意:部分源程序给出如下。请勿改动主函数main和其 它函数中的任何内容,仅在函数fun的花括号中填 入所编写的若干语句。-*/#include stdio.hmain()unsigned int m,n,q;printf(m,n=);scanf(%d,%d,&m,&n); /*FOUND*/q=fun(m,n);printf(p(%d,%d)=%d,m,n,q);getch();int fun(int m,int n)int i; /*FOUND*/if (m=n)i=m;m=n;n=i;for(i=m;i=m*n;i+=m) /*FOUND*/if(i%n=1)return(i);答案: 1). q=fun(m,n); 2). if (mn) 3). if(i%n=0)题目25:打印出杨辉三角形(要求打印出10行).#includestdio.hmain()int i,j;int a1010;printf(n);/*FOUND*/for(i=1;i10;i+)ai0=1;aii=1;/*FOUND*/for(i=1;i10;i+)for(j=1;ji;j+)/*FOUND*/aii=ai-1j-1+ai-1j;for(i=0;i10;i+)for(j=0;j=i;j+)printf(%5d,aij);printf(n);getch();答案: 1). for(i=0;i10;i+) 或 for(i=0;i=9;i+) 2). for(i=2;i10;i+) 或 for(i=2;i=9;i+) 3). aij=ai-1j-1+ai-1j;题目26:编写函数fun生成一个对角线元素为5,上三角元素为0,下三角元素为1的3*3的二维数组。#include stdio.hmain() int a33,i,j; fun(a); for(i=0;i3;i+) for(j=0;j3;j+) printf(%d ,aij); printf(n); getch();fun(int arr3)/*FOUND*/ int i,j/*FOUND*/for(i=1;i3;i+) for(j=0;ji) arrij=0; else arrij=1;答案: 1). int i,j; 2). for(i=0;i3;i+) 3). if(i=j)题目27:编写一个程序模拟袖珍计算器的加、减、乘、除四则运算。#includevoid main()float x,y;char operate1;printf(Arithmetic expressionn);/*FOUND*/scanf(%f,x);/*FOUND*/while(operate1=getchar()!=)printf(result=);scanf(%f,&y);/*FOUND*/switch(y);case +:x+=y;break;case -:x-=y;break;case *:x*=y;break;case /:x/=y;break;printf(%f,x);getch();return;答案: 1). scanf(%f,&x); 2). while(operate1=getchar()!=) 3). switch(operate1)题目28:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。#includestdio.hmain()int i=5;void palin(int n);printf(40:);palin(i);printf(n);void palin(n)int n;/*FOUND*/int next;if(n=1)/*FOUND*/next!=getchar();printf(n0:);putchar(next);elsenext=getchar();/*FOUND*/palin(n);putchar(next);答案: 1). char next; 2). next=getchar(); 3). palin(n-1);题目29:编写函数fun其功能是:根据整型形参m,计算如下公式的值: y=1/21/81/18.1/2m*m#include stdio.h double fun(int m) /*FOUND*/ double y=0 int i;/*FOUND*/ for(i=1; im; i+)/*FOUND*/ y=+1.0/(2*i*i); return(y); main() int n; clrscr(); printf(Enter n: ); scanf(%d, &n); printf(nThe result is %1fn, fun(n); getch(); 答案: 1). double y=0; 2). for(i=1; i=m; i+) 3). y+=1.0/(2*i*i); 题目30:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。#includestdio.hmain()int len;/*FOUND*/char str20;printf(please input a string:n);scanf(%s,str);/*FOUND*/len=length(str);printf(the string has %d characters.,len);getch();int length(p)char *p;int n;n=0;/*FOUND*/while(*p=0)n+;p+;return n;答案: 1). char *str20; 2). len=length(str); 3). while(*p!=0)题目31:给定程序MODI1.C中函数 fun 的功能是: 统计字符串中各元音字母(即:A、E、I、O、U)的个数。注意:字母不分大、小写。 例如:若输入:THIs is a boot,则输出应该是:1、0、2、2、0。#include #include fun ( char *s, int num5 ) int k, i=5;for ( k = 0; ki; k+ )/*FOUND*/ numi=0;for (; *s; s+) i = -1;/*FOUND*/ switch ( s ) case a: case A: i=0; break;case e: case E: i=1; break;case i: case I: i=2; break;case o: case O: i=3; break;case u: case U: i=4; break;/*FOUND*/if (i 0)numi+; main( ) char s181; int num15, i;clrscr();printf( nPlease enter a string: ); gets( s1 );fun ( s1, num1 );for ( i=0; i = 0)题目32:给定程序MODI1.C中函数 fu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车辆设备基础知识培训课件
- 钢琴演奏技术教学课件
- 雅思教学课件软件
- 王莉比尾巴教学课件
- 车辆清洗课件
- 九寨沟教学课件
- 车辆安全行车课件
- 煤焦油加氢转化工艺考核试卷及答案
- 涂料搅拌搅拌时间调节工艺考核试卷及答案
- 饲料调味工艺考核试卷及答案
- 2025年留置看护队考试题库及答案
- 2025年河北省初中学业水平考试历史试题(含答案)
- 2025年江苏公务员遴选考试公文写作试卷(附答案)
- 2025年度以新质生产力助推高质量发展等继续教育公需科目试题及答案
- 2025年技师安全考试题库
- 站点考勤管理制度
- 烧山谅解协议书
- 城市地下管网施工质量、安全、进度和文明施工保证措施
- 全工程咨询管理办法
- 心内科常见疾病健康宣教
- 2025-2030中国重水市场运行态势与未来竞争力剖析报告
评论
0/150
提交评论