版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
程序改錯==================================================題號:7471/*------------------------------------------------------【程序改錯】:只允許修改錯誤代碼,其他代碼不允許修改!--------------------------------------------------------功能:計算正整數(shù)num的各位上的數(shù)字之積。例如:若輸入:252,則輸出應該是:20。若輸入:202,則輸出應該是:0。------------------------------------------------------*/#include<stdio.h>#include<conio.h>longfun(longnum){/**********ERROR**********/longk=1do{k*=num%10;/**********ERROR**********/num\=10;/**********ERROR**********/}while(!num);return(k);}voidmain(){longn;printf("\Pleaseenteranumber:");scanf("%ld",&n);printf("\n%ld\n",fun(n));}答案:位置1:longk=1;位置2:num/=10;【或】num=num/10;位置3:}while(num);【或】while(num!=0)題號:7383/*------------------------------------------------------【程序改錯】:只允許修改錯誤代碼,其他代碼不允許修改!--------------------------------------------------------功能:統(tǒng)計出若干個學生的平均成績,最低分以及得最低分的人數(shù)。例如:輸入10名學生的成績分別為92,87,68,56,92,84,67,75,92,66,則輸出平均成績?yōu)?7.9,最低高分為56,得最低分的人數(shù)為1人。------------------------------------------------------*/#include"stdio.h"floatMin=0;intJ=0;floatfun(floatarray[],intn){inti;floatsum=0,ave;Min=array[0];for(i=0;i<n;i++){if(Min>array[i])Min=array[i];/**********ERROR**********/sum=+array[i];}/**********ERROR**********/ave=sum\n;for(i=0;i<n;i++)/**********ERROR**********/if(array[i]=Min)J++;return(ave);}voidmain(){floata[10],ave;inti=0;for(i=0;i<10;i++)scanf("%f",&a[i]);ave=fun(a,10);printf("ave=%f\n",ave);printf("min=%f\n",Min);printf("Total:%d\n",J);}答案:位置1:sum+=array[i];【或】sum=sum+array[i];位置2:ave=sum/n;位置3:if(array[i]==Min)J++;題號:1698/*------------------------------------------------------【程序改錯】--------------------------------------------------------功能:用下面的和式求圓周率的近似值。直到最后一項的絕對值小于等于0.0001。π111-=1--+---+...4357------------------------------------------------------*/#include"stdio.h"/**********ERROR**********/#include"math"voidfun(){inti=1;/**********ERROR**********/ints=0,t=1,p=1;/**********ERROR**********/while(fabs(t)<=1e-4){s=s+t;p=-p;i=i+2;t=p/i;}/**********ERROR**********/printf("pi=%d\n",s*4);}main(){fun();}答案:位置1:#include"math.h"【或】#include<math.h>位置2:floats=0,t=1,p=1;【或】floats=0,p=1,t=1;【或】floatp=1,s=0,t=1;【或】floatp=1,t=1,s=0;【或】floatt=1,p=1,s=0;【或】floatt=1,s=0,p=1;位置3:while(fabs(t)>1e-4)【或】while(0.0001<fabs(t))【或】while(1e-4<fabs(t))【或】while(fabs(t)>0.0001)位置4:printf("pi=%f\n",s*4);題號:7244/*------------------------------------------------------【程序改錯】:只允許修改錯誤代碼,其他代碼不允許修改!--------------------------------------------------------功能:有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數(shù),他說比第3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。最后問第一個人,他說是10歲。請問第五個人多大?------------------------------------------------------*/#include"stdio.h"intage(intn){intc;/**********ERROR**********/if(n=1)c=10;else/***********FOUND***********/c=age(n)+2;return(c);}voidmain(){/**********ERROR**********/printf("%d",age5);}答案:位置1:if(n==1)位置2:c=age(n-1)+2;位置3:printf("%d",age(5));題號:3230/*------------------------------------------------------【程序改錯】--------------------------------------------------------題目:從鍵盤輸入的整數(shù)中找出最小值,輸入負數(shù)時結(jié)束。--------------------------------------------------------注意:不可以增加或刪除程序行,也不可以更改程序的結(jié)構(gòu)。------------------------------------------------------*/#include"stdio.h"main(){intmin,a;scanf("%d",&a);min=a;/**********ERROR**********/while(a<0){/**********ERROR**********/if(a>min)min=a;scanf("%d",&a);}}答案:位置1:while(a>=0)位置2:if(a<min)min=a;【或】if(a<=min)min=a;題號:1900/*------------------------------------------------------【程序改錯】--------------------------------------------------------題目:從鍵盤輸入的正整數(shù)中找出最大值,輸入0時結(jié)束。--------------------------------------------------------注意:不可以增加或刪除程序行,也不可以更改程序的結(jié)構(gòu)。------------------------------------------------------*/#include"stdio.h"main(){intmax=0,a;do{scanf("%d",&a);/**********ERROR**********/if(a>max)a=max;}/**********ERROR**********/while(a==0);printf("%d",max);}答案:位置1:if(a>max)max=a;位置2:while(a!=0);題號:5672/*------------------------------------------------------【程序改錯】--------------------------------------------------------題目:輸入兩個正整數(shù),并由小到大排列。輸入負數(shù)或0則重新輸入。--------------------------------------------------------注意:不可以增加或刪除程序行,也不可以更改程序的結(jié)構(gòu)。------------------------------------------------------*/#include"stdio.h"main(){inta,b,t;do{scanf("%d,%d",&a,&b);}/**********ERROR**********/while(a>=0&&b>=0);if(a>=b)/**********ERROR**********/t=a;a=b;b=t;printf("a=%d,b=%d",a,b);}答案:位置1:while(a<=0||b<=0);位置2:{t=a;a=b;b=t;}題號:7282/*------------------------------------------------------【程序改錯】:只允許修改錯誤代碼,其他代碼不允許修改!--------------------------------------------------------功能:從m個學生的成績中統(tǒng)計出高于和等于平均分的學生人數(shù),此人數(shù)由函數(shù)值返回。平均分通過形參傳回,輸入學生成績時,用-1結(jié)束輸入,由程序自動統(tǒng)計學生人數(shù)。例如:若輸入8名學生的成績,輸入形式如下:80.5607290.59851.58864-1結(jié)果為:Thenumberofstudents:4Ave=75.56。------------------------------------------------------*/#include<conio.h>#include<stdio.h>#defineN20intfun(float*s,intn,float*aver){floatav,t;intcount,i;count=0;t=0.0;for(i=0;i<n;i++)t+=s[i];av=t/n;printf("ave=%f\n",av);for(i=0;i<n;i++)/**********ERROR**********/if(s[i]<av)count++;/**********ERROR**********/aver=av;/**********ERROR**********/returncount}voidmain(){floata,s[30],aver;intm=0,i;printf("\nPleaseentermarks(-1toend):\n");scanf("%f",&a);while(a>0){s[m]=a;m++;scanf("%f",&a);}printf("\nThenumberofstudents:%d\n",fun(s,m,&aver));printf("Ave=%6.2f\n",aver);}答案:位置1:if(s[i]>=av)count++;位置2:*aver=av;位置3:returncount;題號:2489/*------------------------------------------------------【程序改錯】--------------------------------------------------------功能:求100以內(nèi)(包括100)的偶數(shù)之和.------------------------------------------------------*/#include"stdio.h"main(){/**********ERROR**********/inti,sum=1;/**********ERROR**********/for(i=2;i<=100;i+=1)sum+=i;/**********ERROR**********/printf("Sum=%d\n";sum);}答案:位置1:inti,sum=0;位置2:for(i=2;i<=100;i+=2)【或】for(i=2;i<=100;i=i+2)位置3:printf("Sum=%d\n",sum);題號:7459/*------------------------------------------------------【程序改錯】:只允許修改錯誤代碼,其他代碼不允許修改!--------------------------------------------------------功能:編寫函數(shù)求2!+4!+6!+8!+10+12!+14!。------------------------------------------------------*/#include"stdio.h"longsum(intn){/**********ERROR**********/inti,jlongt,s=0;/**********ERROR**********/for(i=2;i<=n;i++){t=1;for(j=1;j<=i;j++)t=t*j;s=s+t;}/**********ERROR**********/return(t);}voidmain(){printf("thissum=%ld\n",sum(14));}答案:位置1:inti,j;位置2:for(i=2;i<=n;i=i+2)【或】for(i=2;i<=n;i+=2)【或】for(i=2;i<=n;i++,i++)【或】for(i=2;i<=n;++i,++i)位置3:return(s);題號:7386/*------------------------------------------------------【程序改錯】:只允許修改錯誤代碼,其他代碼不允許修改!--------------------------------------------------------功能:求一個3行4列矩陣的外框的元素值之和。注意:矩陣四個角上的元素不能重復加。例如:矩陣元素為1,2,3,4,5,6,7,8,9,10,11,12時,四框元素值之和應為65。------------------------------------------------------*/#include"stdio.h"intfun(inta[3][4],intm,intn){/**********ERROR**********/inti,j,s,s1=s2=s3=s4=0;for(j=0;j<n;j++){s1=s1+a[0][j];/**********ERROR**********/s2=s2+a[m][j];}/**********ERROR**********/for(i=0;i<m;i++){s3=s3+a[i][0];s4=s4+a[i][n-1];}/**********ERROR**********/s=s1-s2-s3-s4;returns;}voidmain(){inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};printf("total=%d\n",fun(a,3,4));}答案:位置1:inti,j,s,s1=0,s2=0,s3=0,s4=0;位置2:s2=s2+a[m-1][j];【或】s2+=a[m-1][j];【或】s2=a[m-1][j]+s2;位置3:for(i=1;i<m-1;i++)【或】for(i=1;i<-1+m;i++)【或】for(i=1;m-1>i;i++)【或】for(i=1;-1+m>i;i++)【或】for(i=1;i<=m-2;i++)【或】for(i=1;m-2>=i;i++)位置4:s=s1+s2+s3+s4;題號:7446/*------------------------------------------------------【程序改錯】:只允許修改錯誤代碼,其他代碼不允許修改!--------------------------------------------------------功能:809*??=800*??+9*??+1其中??代表的兩位數(shù),8*??的結(jié)果為兩位數(shù),9*??的結(jié)果為3位數(shù)。求??代表的兩位數(shù),及809*??后的結(jié)果。------------------------------------------------------*/#include"stdio.h"voidoutput(longb,longi){printf("\n%ld=800*%ld+9*%ld+1\n",b,i,i);printf("??代表的兩位數(shù):%d",i);printf("\n809*??后的結(jié)果:%d",b);}voidmain(){/**********ERROR**********/longinta;b;i;a=809;/**********ERROR**********/for(i=10;i<100,i++){/**********ERROR**********/b=i/a+1;if(b>=1000&&b<=10000&&8*i<100&&9*i>=100)output(b,i);}}答案:位置1:longinta,b,i;位置2:for(i=10;i<100;i++)【或】for(i=10;i<=99;i++)位置3:b=i*a+1;【或】b=a*i+1;題號:3315/*------------------------------------------------------【程序改錯】--------------------------------------------------------功能:給一個不多于5位的正整數(shù),要求:一、求它是幾位數(shù),二、逆序打印出各位數(shù)字。------------------------------------------------------*/#include"stdio.h"main(){/**********ERROR**********/longa,b,c,d,e,x,scanf("%ld",&x);a=x/10000;/**********ERROR**********/b=x/10000/1000;c=x%1000/100;d=x%100/10;e=x%10;/**********ERROR**********/if(a==0)printf("thereare5,%ld%ld%ld%ld%ld\n",e,d,c,b,a);elseif(b!=0)printf("thereare4,%ld%ld%ld%ld\n",e,d,c,b);elseif(c!=0)printf("thereare3,%ld%ld%ld\n",e,d,c);elseif(d!=0)printf("thereare2,%ld%ld\n",e,d);elseif(e!=0)printf("thereare1,%ld\n",e);}答案:位置1:longa,b,c,d,e,x;位置2:b=x%10000/1000;位置3:if(a!=0)【或】if(!a)題號:7267/*------------------------------------------------------【程序改錯】:只允許修改錯誤代碼,其他代碼不允許修改!--------------------------------------------------------功能:先將在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序連接到t串的后面。例如:當s中的字符串為:“ABCDE”時,則t中的字符串應為:“EDCBAABCDE”。------------------------------------------------------*/#include<conio.h>#include<stdio.h>#include<string.h>voidfun(char*s,char*t){/**********ERROR**********/inti;sl=strlen(s);for(i=0;i<sl;i++)/**********ERROR**********/t[i]=s[sl-i];for(i=0;i<sl;i++)t[sl+i]=s[i];/**********ERROR**********/t[2*sl]="0";}voidmain(){chars[100],t[100];printf("\nPleaseenterstrings:");scanf("%s",s);fun(s,t);printf("Theresultis:%s\n",t);}答案:位置1:inti,sl;【或】inti;intsl;【或】intsl;inti;【或】intsl,i;位置2:t[i]=s[sl-i-1];【或】t[i]=s[sl-1-i];位置3:t[2*sl]='\0';【或】t[2*sl]=0;題號:4271/*------------------------------------------------------【程序改錯】--------------------------------------------------------功能:已知一個數(shù)列從第0項開始的前三項分別為0、0、1,以后的各項都是其相鄰的前三項的和。下列給定程序中,函數(shù)fun的功能是:計算并輸出該數(shù)列的前n項的平方根之和sum,n的值通過形參傳入。例如:當n=10時,程序的輸出結(jié)果應為23.197745。------------------------------------------------------*/#include<stdio.h>#include<math.h>/**********ERROR**********/fun(intn){doublesum,s0,s1,s2,s;intk;/**********ERROR**********/sum=0.0;if(n<=2)sum=0.0;s0=0.0;s1=0.0;/**********ERROR**********/s2=0.0;/**********ERROR**********/for(k=4;k>n;k++){s=s0+s1+s2;sum+=sqrt(s);s0=s1;s1=s2;s2=s;}returnsum;}main(){intn;scanf("%d",&n);printf("%lf\n",fun(n));}答案:位置1:doublefun(intn)位置2:sum=1.0;【或】sum=1;位置3:s2=1.0;【或】s2=1;位置4:for(k=4;k<=n;k++)【或】for(k=4;n>=k;k++)【或】for(k=4;k<n+1;k++)【或】for(k=4;k<1+n;k++)【或】for(k=4;n+1>k;k++)【或】for(k=4;1+n>k;k++)題號:7353/*------------------------------------------------------【程序改錯】:只允許修改錯誤代碼,其他代碼不允許修改!--------------------------------------------------------功能:求1到20的階乘的和。------------------------------------------------------*/#include"stdio.h"voidfun(){intn,j;floats=0.0,t=1.0;for(n=1;n<=20;n++){/**********ERROR**********/s=1;for(j=1;j<=n;j++)/**********ERROR**********/t=t*n;/**********ERROR**********/s+t=s;}printf("jiecheng=");/**********ERROR**********/printf("%d\n",s);}voidmain(){fun();}答案:位置1:t=1;【或】t=1.0;位置2:t=t*j;【或】t*=j;【或】t=j*t;位置3:s=s+t;【或】s+=t;【或】s=t+s;位置4:printf("%f\n",s);【或】printf("%f",s);題號:2840/*------------------------------------------------------【程序改錯】--------------------------------------------------------功能:生成一個周邊元素為5,其它元素為1的3*3的二維數(shù)組。------------------------------------------------------*/#include"stdio.h"voidfun(intarr[][3]){/**********ERROR**********/inti,j/**********ERROR**********/for(i=1;i<3;i++)for(j=0;j<3;j++)/**********ERROR**********/if(i==0&&j==0||i==2||j==2)arr[i][j]=5;elsearr[i][j]=1;}main(){inta[3][3],i,j;fun(a);for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%d",a[i][j]);printf("\n");}}答案:位置1:inti,j;位置2:for(i=0;i<3;i++)位置3:if(i==0||j==0||i==2||j==2)題號:3194/*------------------------------------------------------【程序改錯】--------------------------------------------------------題目:求兩個整數(shù)的最小公倍數(shù)。--------------------------------------------------------注意:不可以增加或刪除程序行,也不可以更改程序的結(jié)構(gòu)。------------------------------------------------------*/#include"stdio.h"main(){inta,b,i,j,t;scanf("%d,%d",&a,&b);if(a>b)t=a;elset=b;/**********ERROR**********/for(i=t;i<=a;i++){if(i%a==0&&i%b==0)/**********ERROR**********/j=i;break;}}答案:位置1:for(i=t;;i++)【或】for(i=t;i<=a*b;i++)位置2:{j=i;break;}題號:7387/*------------------------------------------------------【程序改錯】:只允許修改錯誤代碼,其他代碼不允許修改!--------------------------------------------------------功能:輸入n,計算s=1+1+2+1+2+3+1+2+3+4+...+1+2+3+4+...+n------------------------------------------------------*/#include<stdio.h>voidmain(){/**********ERROR**********/inti,s;p,n;printf("Entern:\n");/**********ERROR**********/scanf("%d",n);/**********ERROR**********/for(s=p=0,i=1;i<n;i++)s+=p+=i;printf("S=%d\n",s);}答案:位置1:inti,s,p,n;位置2:scanf("%d",&n);位置3:for(s=p=0,i=1;i<=n;i++)【或】for(s=p=0,i=1;i<n+1;i++)題號:7453/*------------------------------------------------------【程序改錯】:只允許修改錯誤代碼,其他代碼不允許修改!--------------------------------------------------------功能:根據(jù)整型形參m,計算如下公式的值:y=1+1/3+1/5+1/7+...+1/(2m-1)------------------------------------------------------*/#include"stdio.h"doublefun(intm){/**********ERROR**********/doubley=1inti=0;/**********ERROR**********/while(i<m){/**********ERROR**********/y+=1.0/(2i-1);i++;}return(y);}voidmain(){intn;printf("Entern:");scanf("%d",&n);printf("\nTheresultis%1f\n",fun(n));}答案:位置1:doubley=0;位置2:while(i<=m)【或】while(i<m+1)位置3:y+=1.0/(2*i-1);題號:7434/*------------------------------------------------------【程序改錯】:只允許修改錯誤代碼,其他代碼不允許修改!--------------------------------------------------------功能:編寫一個函數(shù),該函數(shù)可以統(tǒng)計一個長度為3的字符串在另一個字符串中出現(xiàn)的次數(shù)。例如:假定輸入的字符串為:asdasasdfgasdaszx67asdmklo,字符串為:asd,則應輸出n=4。------------------------------------------------------*/#include<stdio.h>#include<string.h>#include<conio.h>intfun(char*str,char*substr){/**********ERROR**********/inti,n=0/**********ERROR**********/for(i=0;i<=strlen(str);i++)if((str[i]==substr[0])&&(str[i+1]==substr[1])&&(str[i+2]==substr[2]))/**********ERROR**********/++i;returnn;}voidmain(){charstr[81],substr[4];intn;printf("輸入主字符串:");gets(str);printf("輸入子字符串:");gets(substr);puts(str);puts(substr);n=fun(str,substr);printf("n=%d\n",n);}答案:位置1:inti,n=0;位置2:for(i=0;i<=strlen(str)-3;i++)【或】for(i=0;i<strlen(str)-2;i++)位置3:n++;【或】n+=1;【或】n=n+1;【或】++n;題號:7122/*------------------------------------------------------【程序改錯】:只允許修改錯誤代碼,其他代碼不允許修改!--------------------------------------------------------功能:以下程序能求出1*1+2*2+......+n*n<=1000中滿足條件的最大的n。------------------------------------------------------*/#include"stdio.h"#include"string.h"voidmain(){intn,s;/**********ERROR**********/s==n=0;/**********ERROR**********/while(s>1000){++n;s+=n*n;}/**********ERROR**********/printf("n=%d\n",&n-1);}答案:位置1:s=n=0;【或】s=0,n=0;【或】s=0;n=0;位置2:while(s<=1000)【或】while(s<1001)位置3:printf("n=%d\n",n-1);題號:7329/*------------------------------------------------------【程序改錯】:只允許修改錯誤代碼,其他代碼不允許修改!--------------------------------------------------------功能:分別統(tǒng)計輸入的字符串中各元音字母(即:A、E、I、O、U)的個數(shù)。注意:字母不分大、小寫。例如:若輸入:THIsisaboot,則輸出應該是:1、0、2、2、0。------------------------------------------------------*/#include<conio.h>#include<stdio.h>voidfun(char*s,intnum[5]){intk,i=5;for(k=0;k<i;k++)/**********ERROR**********/num[i]=0;for(;*s;s++){i=-1;/**********ERROR**********/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;}}/**********ERROR**********/if(i<0)num[i]++;}}voidmain(){chars1[81];intnum1[5],i;printf("\nPleaseenterastring:");gets(s1);fun(s1,num1);for(i=0;i<5;i++)printf("%d",num1[i]);printf("\n");}答案:位置1:num[k]=0;位置2:switch(*s)位置3:if(i>=0)題號:1116/*------------------------------------------------------【程序改錯】--------------------------------------------------------功能:編寫一個程序模擬袖珍計算器的加、減、乘、除四則運算。例如:輸入3+5=或5-2=或3*4=或4/2=,求表達式結(jié)果。------------------------------------------------------*/#include"stdio.h"main(){floatx,y;charoperate1;printf("Arithmeticexpression\n");/**********ERROR**********/scanf("%f",x);/**********ERROR**********/while((operate1==getchar())!='='){printf("result=");scanf("%f",&y);/**********ERROR**********/switch(y){case'+':x+=y;break;case'-':x-=y;break;case'*':x*=y;break;case'/':x/=y;break;}}printf("%f",x);return;}答案:位置1:scanf("%f",&x);位置2:while((operate1=getchar())!='=')位置3:switch(operate1)題號:7316/*------------------------------------------------------【程序改錯】:只允許修改錯誤代碼,其他代碼不允許修改!--------------------------------------------------------功能:判斷字符ch是否與str所指串中的某個字符相同;若相同,什么也不做,若不同,則將其插在串的最后。------------------------------------------------------*/#include<conio.h>#include<stdio.h>#include<string.h>/**********ERROR**********/voidfun(charstr,charch){while(*str&&*str!=ch)str++;/**********ERROR**********/if(*str==ch){str[0]=ch;/**********ERROR**********/str[1]='0';}}voidmain(){chars[81],c;printf("\nPleaseenterastring:\n");gets(s);printf("\nPleaseenterthecharactertosearch:");c=getchar();fun(s,c);printf("\nTheresultis%s\n",s);}答案:位置1:voidfun(char*str,charch)位置2:if(*str=='\0')位置3:str[1]='\0';題號:7165/*------------------------------------------------------【程序改錯】:只允許修改錯誤代碼,其他代碼不允許修改!--------------------------------------------------------功能:一個已排好序的一維數(shù)組,輸入一個數(shù)number,要求按原來排序的規(guī)律將它插入數(shù)組中.注:1.數(shù)組元素引用請使用下標法;2.修改的代碼中不要含有空格。------------------------------------------------------*/#include"stdio.h"voidmain(){inta[11]={1,4,6,9,13,16,19,28,40,100};inttemp1,temp2,number,end,i,j;i=0;while(i<10)printf("%5d",a[i++]);printf("\n");scanf("%d",&number);/**********ERROR**********/end=a[10];if(number>end)/**********ERROR**********/a[11]=number;else{for(i=0;i<10;i++){/**********ERROR**********/if(a[i]<number){temp1=a[i];a[i]=number;for(j=i+1;j<11;j++){temp2=a[j];a[j]=temp1;temp1=temp2;}break;}}}for(i=0;i<11;i++)printf("%6d",a[i]);}答案:位置1:end=a[9];位置2:a[10]=number;位置3:if(a[i]>number)【或】if(number<a[i])題號:6618/*------------------------------------------------------【程序改錯】--------------------------------------------------------功能:編寫函數(shù)fun求20以內(nèi)所有5的倍數(shù)之積。------------------------------------------------------*/#defineN20#include"stdio.h"main(){intsum;sum=fun(5);printf("%d以內(nèi)所有%d的倍數(shù)之積為:%d\n",N,5,sum);}intfun(intm){/**********ERROR**********/ints=0,i;for(i=1;i<N;i++)/**********ERROR**********/if(i%m=0)/**********ERROR**********/s=*i;returns;}答案:位置1:ints=1,i;位置2:if(i%m==0)位置3:s=s*i【或】s=i*s【或】s*=i題號:6866/*------------------------------------------------------【程序改錯】--------------------------------------------------------功能:求如下表達式:111S=1+--+---+......+-------1+21+2+31+2+3+......+n------------------------------------------------------*/#include<stdio.h>main(){intn;doublefun();printf("Pleaseinputanumber:");/**********ERROR**********/print("%d",n);printf("%10.6f\n",fun(n));}/**********ERROR**********/fun(intn){inti,j,t;doubles;s=0;/**********ERROR**********/while(i=1;i<=n;i++);{t=0;for(j=1;j<=i;j++)t=t+j;/**********ERROR**********/=s+1/t;}returns;}答案:位置1:scanf("%d",&n);位置2:doublefun(intn)位置3:for(i=1;i<=n;i++)【或】for(i=1;n>=i;i++)【或】for(i=1;i<n+1;i++)【或】for(i=1;n+1>i;i++)位置4:s+=1.0/t;【或】s=s+1.0/(float)t;【或】s=1.0/(float)t+s;【或】s=s+1.0/t;【或】s=1.0/t+s;【或】s+=1.0/(float)t;【或】s+=1.0/(double)t;【或】s=s+1.0/(double)t;【或】s=1.0/(double)t+s;題號:840/*------------------------------------------------------【程序改錯】--------------------------------------------------------功能:求1到20的階乘的和。------------------------------------------------------*/#include<stdio.h>fun(){intn,j;floats=0.0,t=1.0;for(n=1;n<=20;n++){/**********ERROR**********/s=1;for(j=1;j<=n;j++)/**********ERROR**********/t=t*n;/**********ERROR**********/s+t=s;}/**********ERROR**********/printf("jiecheng=%d\n",s);}main(){fun();}答案:位置1:t=1;【或】t=1.0;位置2:t=t*j;【或】t=j*t;【或】t*=j;位置3:s=s+t;【或】s=t+s;【或】s+=t;位置4:printf("jiecheng=%f\n",s);題號:7401/*------------------------------------------------------【程序改錯】:只允許修改錯誤代碼,其他代碼不允許修改!--------------------------------------------------------功能:求廣義菲玻那契級數(shù)的第n項。廣義菲玻那契級數(shù)的前n項為:1,1,1,3,5,9,17,31,……項值通過函數(shù)值返回main()函數(shù)。例如:若n=15,則應輸出:Thevalueis:2209。------------------------------------------------------*/#include<conio.h>#include<stdio.h>longfun(intn){longa=1,b=1,c=1,d=1,k;/**********ERROR**********/for(k=4;k<n;k++){d=a+b+c;/**********ERROR**********/a=bb=c;c=d;}/**********ERROR**********/returnk;}voidmain(){intn=15;printf("Thevalueis:%ld\n",fun(n));}答案:位置1:for(k=4;k<=n;k++)【或】for(k=4;k<n+1;k++)位置2:a=b;位置3:returnd;【或】returnc;【或】return(c);【或】return(d);題號:1224/*------------------------------------------------------【程序改錯】--------------------------------------------------------功能:輸出Fabonacci數(shù)列的前20項,要求變量類型定義成浮點型,輸出時只輸出整數(shù)部分,輸出項數(shù)不得多于或少于20。------------------------------------------------------*/#include"stdio.h"voidfun(){inti;floatf1=1,f2=1,f3;/**********ERROR**********/printf("%8d",f1);/**********ERROR**********/for(i=1;i<=20;i++){f3=f1+f2;/**********ERROR**********/f2=f1;/**********ERROR**********/f3=f2;printf("%8.0f",f1);}printf("\n");}main(){fun();}答案:位置1:printf("%8.0f",f1);【或】printf("%f",f1);【或】printf("%8f",f1);位置2:for(i=1;i<20;i++)【或】for(i=1;20>i;i++)【或】for(i=2;i<=20;i++)【或】for(i=2;20>=i;i++)【或】for(i=1;i<=19;i++)【或】for(i=1;19>=i;i++)位置3:f1=f2;位置4:f2=f3;題號:7166/*------------------------------------------------------【程序改錯】:只允許修改錯誤代碼,其他代碼不允許修改!--------------------------------------------------------功能:一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地時,共經(jīng)過多少米?第10次反彈多高?------------------------------------------------------*/#include"stdio.h"voidmain(){/**********ERROR**********/floatsn=100.0;hn=sn/2;intn;/**********ERROR**********/for(n=2;n<10;n++){sn=sn+2*hn;/**********ERROR**********/hn=hn%2;}printf("thetotalofroadis%f\n",sn);printf("thetenthis%fmeter\n",hn);}答案:位置1:floatsn=100.0,hn=sn/2;位置2:for(n=2;n<=10;n++)【或】for(n=2;n<11;n++)位置3:hn=hn/2;題號:7321/*------------------------------------------------------【程序改錯】:只允許修改錯誤代碼,其他代碼不允許修改!--------------------------------------------------------功能:利用二維數(shù)組輸出如圖所示的圖形。*******************************------------------------------------------------------*/#include"stdio.h"#include<conio.h>/**********ERROR**********/#defineN=7voidmain(){chara[N][N];inti,j,z;for(i=0;i<N;i++)for(j=0;j<N;j++)/**********ERROR**********/a[i][j]=;z=0;for(i=0;i<(N+1)/2;i++){for(j=z;j<N-z;j++)a[i][j]='*';z=z+1;}z=z-1;for(i=(N+1)/2;i<N;i++){z=z-1;for(j=z;j<N-z;j++)a[i][j]='*';}for(i=0;i<N;i++){for(j=0;j<N;j++)/**********ERROR**********/printf("%d",a[i][j]);printf("\n");}}答案:位置1:#defineN7位置2:a[i][j]='';位置3:printf("%c",a[i][j]);題號:7481/*------------------------------------------------------【程序改錯】:只允許修改錯誤代碼,其他代碼不允許修改!--------------------------------------------------------功能:將長整型數(shù)中每一位上為偶數(shù)的數(shù)依次取出,構(gòu)成一個新數(shù)放在t中。高位仍在高位,低位仍在低位。例如:當s中的數(shù)為:87654時,t中的數(shù)為:864。------------------------------------------------------*/#include<conio.h>#include<stdio.h>voidfun(longs,long*t){intd;longsl=1;*t=0;while(s>0){d=s%10;/**********ERROR**********/if(d%2=0){/**********ERROR**********/*t=d*sl+t;sl*=10;}/**********ERROR**********/s\=10;}}voidmain(){longs,t;printf("\nPleaseenters:");scanf("%ld",&s);fun(s,&t);printf("Theresultis:%ld\n",t);}答案:位置1:if(d%2==0)【或】if(d%2!=1)位置2:*t=d*sl+*t;【或】*t+=d*sl;【或】*t+=sl*d;【或】*t=*t+d*sl;【或】*t=*t+sl*d;位置3:s/=10;【或】s=s/10;題號:6563/*------------------------------------------------------【程序改錯】--------------------------------------------------------功能:求1到10的階乘的和。------------------------------------------------------*/#include<stdio.h>main(){inti;floats=0;floatfac(intn);/**********ERROR**********/for(i=1;i<10;i++)/**********ERROR**********/s=fac(i);printf("%f\n",s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 促銷裝批發(fā)銷售合同
- 銀行抵押權(quán)對房屋買賣合同的影響分析
- 現(xiàn)代企業(yè)管理改進協(xié)議
- 婚姻底線拒絕出軌
- 電商平臺與供應商協(xié)議
- 物業(yè)服務合同簽訂注意事項法律效力
- 中介經(jīng)紀合同范例
- 入住賓館合同范例
- 屋頂裝修合同范例
- 城市綠化景觀施工合同轉(zhuǎn)讓協(xié)議
- TOC-DBR培訓課程完整版ppt課件
- 承插型盤扣式盤扣高支模施工方案(專家論證通過)
- 機械設計課程設計---榫槽成形半自動切削機
- 自動化立體庫貨架驗收報告
- 數(shù)學模型實驗報告5
- 屋頂分布式光伏項目施工安全管理方案
- 新人教版高中物理課本必修1復習與提高AB組解析
- 東方航空《內(nèi)部異地調(diào)動人員管理規(guī)定》
- 標準節(jié)流裝置計算
- 鋼結(jié)構(gòu)罩棚施工組織設計(共26頁)
- 電力變壓器計算單
評論
0/150
提交評論