2023年C語(yǔ)言程序改錯(cuò)基本題庫(kù)_第1頁(yè)
2023年C語(yǔ)言程序改錯(cuò)基本題庫(kù)_第2頁(yè)
2023年C語(yǔ)言程序改錯(cuò)基本題庫(kù)_第3頁(yè)
2023年C語(yǔ)言程序改錯(cuò)基本題庫(kù)_第4頁(yè)
2023年C語(yǔ)言程序改錯(cuò)基本題庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

北京石油化工學(xué)院12級(jí)復(fù)習(xí)題程序改錯(cuò)一、下面每個(gè)程序的劃線處有語(yǔ)法或邏輯錯(cuò)誤,請(qǐng)找出并改正,使其得到符合題意的執(zhí)行結(jié)果。1.求1234nmain(){longintsum;intn,i=1;scanf("%d",n);printf(“\n”);while(i<n){sum=sum*i;i++;}printf("sum=%d",sum);}2.求一個(gè)數(shù)組中最大值及其下標(biāo)。main(){intmax,j,m;inta[5];for(j=1;j<=5;j++)scanf(“%d”,a);max=a[0];for(j=1;j<=5;j++)if(max>a[j]){max=a[j];m=j(luò);}printf(“下標(biāo):%d\n最大值:%d”,j,max)}*3.求3+4inta=3,b=4;main(){inta,c;c=a+b;printf(“c=%d”);}4.用一個(gè)函數(shù)求兩個(gè)數(shù)之和。sum(x,y){floatz;z=x+y;return;}main(){float(yī)a,b;intc;scanf("%f,%f",&a,&b);c=sum(a,b);printf("\nSumis%f",sum);}5.用指針作函數(shù)參數(shù),對(duì)輸入的兩個(gè)整數(shù)按大小順序輸出。swap(int*p1,*p2){int*p;*p=*p1;*p1=*p2;*p2=*p;}main(){inta,b;int*q1,*q2;scanf("%d,%d",&a,&b);&q1=a,&q2=b;if(a<b)swap(*q1,*q2);printf("\n%d,%d\n",q1,q2);}前五題答案:1.sum應(yīng)初始化即加入sum=1第四行改為:scanf(“%d”,&n);第六行改為:while(i<=n)第十行改為:printf("sum=%ld",sum);2.第四行改為:for(j=0;j<5;j++)第五行改為:scanf(“%d”,&a[j]);第七行改為:for(j=0;j<5;j++)第八行改為:if(max<a[j])第十三行改為:printf(“下標(biāo):%d\n最大值:%d”,m,max)3.第三行改為:intc;第五行改為:printf(“c=%d”,c);4.第一行改為:floatsum(floatx,floaty);第四行改為:return(z);第八行:floatc;第十一行:printf("\nSumis%f",c);5.第2、3行:{intt;t=*p1;*p1=*p2;*p2=t;第9行:q1=&a,q2=&b;第10行:if(a<b)swap(q1,q2);第11行:printf("\n%d,%d\n",*q1,*q2);6.程序讀入20個(gè)整數(shù),記錄非負(fù)數(shù)個(gè)數(shù),并計(jì)算非負(fù)數(shù)之和.#include“stdio.h”main(){inti,a[20],s,count;s=count=1;s=count=0;for(i=1;i<20;i--)for(i=0;i<20;i--)scanf(“%d”,a[i]);scanf(“%d”,&a[i]);for(i=0;i<20;i++){if(a[i]<0)break;continue;s+=a[i];count++;}printf(“s=%fcount=%f\n”,s,count);}printf(“s=%dcount=%d\n”,s,count);7.x,y兩個(gè)數(shù)中,讓x中存較大的數(shù),y存較小的數(shù)#include<stdio.h>main(){intx,y=200,z=0;x=180;if(x<y)z=x;x=y;y=z;{z=x;x=y;y=z;}printf(“x=%d,y=%d\n”,&x,&y);}printf(“x=%d,y=%d\n”,x,y);}8.從鍵盤輸入整數(shù)x的值,并輸出y的值.main(){floatx,y;對(duì)的的:intx;floaty;scanf(“%d”,&x);y=3.5+x;printf(“y=%d”);printf(“y=%f”,y);}9.從1加到100,并輸出.Main(){inti,sumi=1;While(i<=100){sum=sum*i;i++;}printf(“%c”,sum)}10、求一個(gè)4×4矩陣的對(duì)角線元素之和main(){inta[4][4],sum=0;inti,j;printf(“Enterdata:\n”);for(i=0;i<=4;I++)for(j=0,j<=4;j++)scanf(“%d”,&a[i][j]);for(i=0;i<4;I++)for(j=0;j<4;j++)sum=sum+a[i][j];printf(“sum=%5d\n”,sum);}12.求1+2+3+4+……n的值。main(){longintsum;intn,i=1;scanf("d",&n);printf(“\n”);while(i>n){sum=sum*i;i++;}printf("sum=%d",sum);}*13.調(diào)用起泡法函數(shù)排序voidsort(inta[],n);{inti,j,temp,*p;for(i=0;i<n-1;i++)for(j=n-1;j>i;j--)if(data[j]<data[j-1]){temp=a[j];a[j]=a[j-1];a[j-1]=temp;} main(){intdata[10]; *p=data; printf("Pleaseinput10numbers:\n");for(i=0;i<NUM;i++,p++)scanf("%d",&p);p=&data[0];sort(data[10],10);printf("\ntheresultofsort:\n");for(i=0;i<10;i++)printf("%d",data[i]);}15.編程計(jì)算下面分段函數(shù),輸入x,輸出ymain(){intx,y;printf(“\nInputx:\n”);scanf(“%d”,x);if(x<0)y=x-1;elseif(x>=0||x<=10)y=2x-1;elsey=3x-1;printf(“y=%d”,&y);}16.求100~300間能被3整除的數(shù)的和。main(){intn;longsum;for(n=100;n<=300;n++){if(n%3=0)sum=sum*n;}printf(“%ld”,sum);}17.用函數(shù)實(shí)現(xiàn)兩個(gè)整數(shù)的互換。swap(int*p1,int*p2){int*p;p=p1;p1=p2;p2=p;}main(){inta,b;printf(“\nInputa,b:”);scanf(“%d,%d”,&a,&b);swap(&a,&b);printf(“\n%d,%d”,a,b);}18.實(shí)現(xiàn)華氏溫度轉(zhuǎn)換為攝氏溫度,公式為:c=*(f-32),規(guī)定輸出結(jié)果取2位小數(shù)。main(){intc,f;printf("Pleasee(cuò)nterf:");scanf("%f",&f);c=5/9*(f-32);printf("f=%f,c=%f",c,f);}19.下面程序的功能是計(jì)算n!。main(){inti,n;ints;printf("Pleaseentern:");scanf("%d",n);for(i=1;i<=n;i++);s=*i;printf("%d!=%d",i,s);}20.編程計(jì)算12+32+52+…+92,規(guī)定輸出中間計(jì)算結(jié)果。main(){inti,sum=0;for(i=1;i<=9;i+2)sum+=i;printf("sum=%d",sum);}21.求表達(dá)式的值#include<stdio.h>#include<math.h>intfun(intx,inty);main(){?inta,b;floatf;scanf(“%d,%d”,a,b);if(ab>0){f=fun(a,b);printf("Theresultis:%d\n",&f)}elseprintf(“error!”);}fun(x,y){ floatresult; result=sqrt(a+b);?return;}22、通過(guò)函數(shù)調(diào)用,求兩個(gè)數(shù)之差sub(x,y){floatz;z=x-y;return;}main(){floata,b;intc;scanf(“%f,%f”,&a,&b);c=sub(a,b);printf(“\nSubis%f”,sub);}23、求1到100的累加和.main(){inti,sumi=1;while(i<=100){sum=sum*i;i++;}printf(“%c”,sum)}一個(gè)小于1000的正整數(shù)每位上的數(shù)字是多少。#include"stdio.h"main(){intn,i,j,k;printf("Inputanumbern(0<n<1000):\n");scanf("%d",n);if(n<=0||n>=1000){printf("error");exit(0);}k=n%10.0;j=(n%100)/10;i=n/100;printf("%s%s%s\n",i,j,k);}25、輸入三角形的三邊長(zhǎng),求三角形的面積。#include<math.h>main(){floata,b,c,s,area;scan("%d,%d,%d",a,b,c);s=1.0/2*(a+b+c);area=sqrt(s(s-a)(s-b)(s-c));printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n",&a,&b,&c,&s);printf("area=%7.2f\n",&area)}?26、求和1!+2!+3!+4!+……+20!。main(){floats=0,t=0;intn;for(n=0;n<20;n++){t=t+n;s=s*t;}printf("1!+2!+3!+4!+……+20!=%d\n",s);}*27、下面程序?qū)崿F(xiàn)的功能是求兩整數(shù)的最小公倍數(shù)。#include"stdio.h"main(){intm,n,result1;resultprint(“inputtwointegers:\n”);scaf(“%d%d”,m,n);&m,&nresult=m<n?n:m;while((result%m!=0)||(result%n==0))!=result++;printf(“Theleastcommonmultipleofmandnis%d\n”,&result);result}28.下列程序?qū)崿F(xiàn)按分?jǐn)?shù)從高到低的順序輸出,劃線處存在錯(cuò)誤,請(qǐng)予以更正.#include<stdio.h>#defineARR_SIZE40voidSort(floatscore[],longnum[],intn)main(){floatscore[ARR_SIZE];?intn,i;?longnum[ARR_SIZE];?printf("Pleaseentertotalnumber:"); scanf("%d\n",n); printf("Pl(wèi)easee(cuò)nterthenumberandscore:\n"); for(i=0;i<n;i++)?{scanf("%ld%f",&num[i],&score[i]);}?Sort(score,num,n); printf("Sortedresults:\n"); for(i=0;i<n;i++)?{printf("%ld\t%4.0f\n",num[i],score[i]);}}voidSort(score,num,n){inti,j; floattemp1; longtemp2;?for(i=0;i<n-1;i++) {for(j=i;j<=n;j++) {if(score[j]<score[i]) {temp1=score[j];????score[j]=score[i];? score[i]=temp1;??temp2=num[j]; ?? num[j]=num[i]; ???num[i]=temp2;?}? } }}把用戶輸入的數(shù)據(jù)累加,直到輸入零為止,輸出累加的結(jié)果。#include<stdio.h>main(){inttsum=0,d;printf("Enteraserialofnumbersendedby0:\n");while(1){scanf("%d",d);對(duì)的:scanf("%d",&d);if(d=0)break;對(duì)的:d==0sum+=d;}printf("sum=%f\n",sum);對(duì)的:printf("sum=%d\n",sum);}30、求1+2+3+4++n(n<100)#include<stdio.h>fun(n);對(duì)的:main(){intp,n;scanf("%d",&n);p=intfun(n);對(duì)的:printf("p=%d",p);} intfun(intm){inttotal;對(duì)的:inti=1;while(i<=m){total=total+i;i++;}return;對(duì)的:}32.求一個(gè)3×3矩陣的主對(duì)角線元素之和main(){inta[3][3];intsum;inti,j;printf(“Enterdata:\n”);for(i=0;i<3;i++)for(j=0,j<3,j++)scanf(“%f”,&a[i][j]);for(i=0;i<3;i++)for(j=0,j<=3;j++)if(i=j)sum+=a[i][j];printf(“sum=%5d\n”,sum);}33.?dāng)z氏溫度C=(5/9)(F-32),求華氏溫度F=100時(shí)相應(yīng)的攝氏溫度。#include<stdoi.h>voidmain(void){

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論