版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
北京石油化工學院12級復習題程序改錯一、下面每個程序的劃線處有語法或邏輯錯誤,請找出并改正,使其得到符合題意的執(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.求一個數(shù)組中最大值及其下標。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;}printf(“下標:%d\n最大值:%d”,j,max)}*3.求3+4inta=3,b=4;main(){inta,c;c=a+b;printf(“c=%d”);}4.用一個函數(shù)求兩個數(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ù),對輸入的兩個整數(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應初始化即加入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(“下標:%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個整數(shù),記錄非負數(shù)個數(shù),并計算非負數(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兩個數(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;對的的: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、求一個4×4矩陣的對角線元素之和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.編程計算下面分段函數(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ù)實現(xiàn)兩個整數(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.實現(xiàn)華氏溫度轉(zhuǎn)換為攝氏溫度,公式為:c=*(f-32),規(guī)定輸出結(jié)果取2位小數(shù)。main(){intc,f;printf("Pleaseenterf:");scanf("%f",&f);c=5/9*(f-32);printf("f=%f,c=%f",c,f);}19.下面程序的功能是計算n!。main(){inti,n;ints;printf("Pleaseentern:");scanf("%d",n);for(i=1;i<=n;i++);s=*i;printf("%d!=%d",i,s);}20.編程計算12+32+52+…+92,規(guī)定輸出中間計算結(jié)果。main(){inti,sum=0;for(i=1;i<=9;i+2)sum+=i;printf("sum=%d",sum);}21.求表達式的值#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、通過函數(shù)調(diào)用,求兩個數(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)}一個小于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、輸入三角形的三邊長,求三角形的面積。#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)按分數(shù)從高到低的順序輸出,劃線處存在錯誤,請予以更正.#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)easeenterthenumberandscore:\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);對的:scanf("%d",&d);if(d=0)break;對的:d==0sum+=d;}printf("sum=%f\n",sum);對的:printf("sum=%d\n",sum);}30、求1+2+3+4++n(n<100)#include<stdio.h>fun(n);對的:main(){intp,n;scanf("%d",&n);p=intfun(n);對的:printf("p=%d",p);} intfun(intm){inttotal;對的:inti=1;while(i<=m){total=total+i;i++;}return;對的:}32.求一個3×3矩陣的主對角線元素之和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.攝氏溫度C=(5/9)(F-32),求華氏溫度F=100時相應的攝氏溫度。#include<stdoi.h>voidmain(void){
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度互聯(lián)網(wǎng)公司收購游戲開發(fā)團隊合同3篇
- 2025年度農(nóng)村宅基地流轉(zhuǎn)購買合同3篇
- 2025年度企業(yè)辦公區(qū)深度清潔與環(huán)保服務合同3篇
- 二零二五年度公廁保潔與節(jié)能減排技術合作合同2篇
- 二零二五年度員工職務秘密及保密風險評估合同3篇
- 二零二五年度電力系統(tǒng)機械維護與更新合同2篇
- 二零二五年度企業(yè)法人變更合同編制與備案指導服務3篇
- 2024年中國木制溫度計市場調(diào)查研究報告
- 2024年坦克帽項目可行性研究報告
- 2024年國際標準集裝箱運輸罐項目可行性研究報告
- 毒理學基礎期末考試試題整理大全附答案
- 瑞幸咖啡案例分析
- 寒假安全教育主題班會PPT-
- 學生資助手冊
- (完整版)聚乙烯課件
- 中國雷暴日多發(fā)區(qū)特征及雷電發(fā)展變化
- 20232023山東省高中學業(yè)水平測試會考題及答案政治
- 獨一味(正式稿2)
- 山西太原晉陽湖總體規(guī)劃城市設計景觀方案文本
- 干部業(yè)績相關信息采集表
- 八年級上綜合性學習 我們的互聯(lián)網(wǎng)時代 練習卷(含答案)
評論
0/150
提交評論