版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、北京石油化工學(xué)院 12級(jí)復(fù)習(xí)題程序改錯(cuò)一、 下面每個(gè)程序的劃線處有語(yǔ)法或邏輯錯(cuò)誤,請(qǐng)找出并改正,使其得到符合題意的執(zhí)行結(jié)果。求1234nmain() long int sum;int n,i=1;scanf("%d",n);printf(“n”);while(i<n) sum=sum*i;i+;printf("sum=%d",sum); 2求一個(gè)數(shù)組中最大值及其下標(biāo)。main( ) int max,j,m; int a5; for(j=1;j<=5;j+) scanf(“%d”,a); max=a0; for(j=1;j<=5;j+)
2、if(max>aj) max=aj; m=j; printf(“下標(biāo):%dn最大值:%d”, j, max) *3. 求 3+4 int a=3,b=4; main() int a,c; c=a+b; printf(“c=%d”); 4用一個(gè)函數(shù)求兩個(gè)數(shù)之和。sum(x,y) float z;z=x+y;return;main() float a,b;int c;scanf("%f,%f",&a,&b);c=sum(a,b);printf("nSum is %f",sum);5用指針作函數(shù)參數(shù),對(duì)輸入的兩個(gè)整數(shù)按大小順序輸出。swa
3、p(int *p1,*p2) int *p;*p=*p1;*p1=*p2;*p2=*p;main() int a,b;int *q1,*q2;scanf("%d,%d",&a,&b);&q1=a,&q2=b;if(a<b) swap(*q1,*q2);printf("n%d,%dn",q1,q2);前五題答案:1.sum應(yīng)初始化 即加入sum=1第四行改為:scanf(“%d”,&n);第六行改為:while(i<=n) 第十行改為:printf("sum=%ld",sum);2.
4、第四行改為:for(j=0;j<5;j+)第五行改為:scanf(“%d”,&aj);第七行改為:for(j=0;j<5;j+)第八行改為:if(max<aj)第十三行改為:printf(“下標(biāo):%dn最大值:%d”, m,max)3. 第三行改為:int c; 第五行改為:printf(“c=%d”,c);4. 第一行改為:float sum(float x, float y ); 第四行改為:return(z); 第八行:float c; 第十一行:printf("nSum is %f",c);5. 第2、3行: int t; t=*p1;*p
5、1=*p2;*p2=t; 第9行:q1=&a,q2=&b; 第10行:if(a<b) swap(q1,q2); 第11行:printf("n%d,%dn",*q1,*q2);6 程序讀入20個(gè)整數(shù),統(tǒng)計(jì)非負(fù)數(shù)個(gè)數(shù),并計(jì)算非負(fù)數(shù)之和.#include “stdio.h”main() int i, a20, s , count ; s=count=1; s=count=0; for( i=1; i<20; i- -) for(i=0;i<20;i-)scanf(“%d”, ai ); scanf(“%d”,&ai); for(i=0;i
6、<20;i+) if(ai<0) break; continue;s +=ai;count+; printf(“s=%f count=%fn”, s, count); printf(“s=%d count=%dn”,s,count);7. x , y兩個(gè)數(shù)中,讓x中存較大的數(shù),y存較小的數(shù)#include<stdio.h>main( ) int x , 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=%dn”,&x,&y); printf(“x=%d,
7、y=%dn”,x,y); 8. 從鍵盤輸入整數(shù)x的值,并輸出y的值. main() float x,y; 正確的: int x; float y; scanf(“%d”,&x); y=3.5+x; printf(“y=%d”); printf(“y=%f”,y); 9. 從1加到100,并輸出. Main ( )int i , sum i=1; While ( i<=100 ) sum=sum*i; i+ ; printf ( “%c”, sum ) 10、求一個(gè)4×4矩陣的對(duì)角線元素之和main( ) int a44, sum=0; int i,j; printf(“
8、Enter data:n”); for(i=0;i<=4;I+) for(j=0,j<=4;j+) scanf(“%d”,&aij); for(i=0;i<4;I+) for(j=0;j<4;j+)sum=sum+aij; printf(“sum=%5dn”,sum); 12求1+2+3+4+n的值。main() long int sum;int n,i=1;scanf("d",&n);printf(“n”);while(i>n) sum=sum*i;i+;printf("sum=%d",sum);*13調(diào)用
9、起泡法函數(shù)排序void sort(int a, n); int i,j,temp,*p;for(i=0; i<n-1; i+) for(j=n-1; j>i; j-) if(dataj< dataj-1) temp=aj; aj= aj-1; aj-1=temp; main() int data10; *p=data;printf("Please input 10 numbers:n"); for(i=0; i<NUM; i+,p+)scanf("%d", &p); p=&data0;sort(data10,10)
10、;printf("nthe result of sort:n"); for(i=0; i<10; i+) printf("%d ",datai); 15. 編程計(jì)算下面分段函數(shù), 輸入x, 輸出ymain() int x,y; printf(“n Input x:n”); scanf(“%d”, x);if(x<0) y=x-1;else if(x>=0|x<=10) y=2x-1;else y=3x-1;printf(“y=%d”,&y); 16. 求100300間能被3整除的數(shù)的和。 main() int n;long
11、 sum; 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() int a,b; printf(“nInput a,b: ”); scanf(“%d,%d”,&a,&b); swap(&a , &b ); printf(“n%d,%d”,a,b); 18. 實(shí)現(xiàn)華氏溫度轉(zhuǎn)換為攝氏溫度,公式為:c=*(f-32),要求輸出結(jié)果取2位小數(shù)。mai
12、n() int c,f;printf("Please enter f:");scanf("%f", &f);c=5/9*(f-32);printf("f=%f,c=%f",c,f);19下面程序的功能是計(jì)算n!。main() int i,n;int s;printf("Please enter n:");scanf("%d", n);for(i=1;i<=n;i+) ;s=*i;printf("%d! = %d",i,s);20編程計(jì)算12325292,要求輸出
13、中間計(jì)算結(jié)果。main() int i, sum=0;for(i=1;i<=9;i+2)sum+=i;printf("sum = %d",sum);21. 求表達(dá)式的值#include <stdio.h>#include <math.h>int fun(int x, int y);main()int a,b; float f;scanf(“%d,%d”,a,b);if(ab>0) f = fun(a,b); printf("The result is:%dn", &f) else printf(“error!”
14、);fun(x, y) float result; result = sqrt(a+b); return;22、通過函數(shù)調(diào)用,求兩個(gè)數(shù)之差sub(x,y) float z;z=x-y;return;main() float a,b;int c;scanf(“%f,%f”,&a,&b);c=sub(a,b);printf(“nSub is %f”,sub);23、求1到100的累加和. main ( )int i , sum i=1; while ( i<=100 ) sum=sum*i ; i+ ; printf ( “%c”, sum ) 24、 一個(gè)小于1000的正整
15、數(shù)每位上的數(shù)字是多少。 #include "stdio.h" main() int n,i,j,k; printf("Input a number n(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 %sn",i,j,k);25、輸入三角形的三邊長(zhǎng),求三角形的面積。 #include
16、<math.h> main( ) float a,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.2fn",&a,&b,&c,&s); printf("area=%7.2fn",&area) 26、求和1!+2!+3!+4!+20!。main( ) float s=0,t=0; int n; for
17、(n=0;n<20;n+) t=t+n; s=s*t; printf("1!+2!+3!+4!+20!=%dn",s);*27、下面程序?qū)崿F(xiàn)的功能是求兩整數(shù)的最小公倍數(shù)。#include "stdio.h"main( ) int m ,n , result1; result print(“input two integers: n”); scaf(“%d %d”, m, n); &m,&n result=m<n ? n: m ; while( (result % m !=0 ) | ( result % n = =0) ) !
18、= result+; printf(“The least common multiple of m and n is %dn”, &result); result28下列程序?qū)崿F(xiàn)按分?jǐn)?shù)從高到低的順序輸出,劃線處存在錯(cuò)誤,請(qǐng)予以更正.#include <stdio.h>#define ARR_SIZE 40void Sort(float score, long num, int n)main() float scoreARR_SIZE; int n, i; long numARR_SIZE; printf("Please enter total number:&qu
19、ot;); scanf("%dn", n); printf("Please enter the number and score:n"); for (i=0; i<n; i+) scanf("%ld%f",&numi,&scorei); Sort(score, num, n); printf("Sorted results:n"); for (i=0;i<n;i+) printf("%ldt%4.0fn",numi,scorei);void Sort(score, n
20、um, n) int i, j; float temp1; long temp2; for (i=0; i<n-1; i+) for (j=i; j<=n; j+) if (scorej < scorei) temp1 = scorej; scorej = scorei; scorei = temp1; temp2 = numj; numj = numi; numi = temp2; 29. 把用戶輸入的數(shù)據(jù)累加,直到輸入零為止,輸出累加的結(jié)果。#include<stdio.h>main() intt sum=0,d; printf("Enter a s
21、erial of numbers ended by 0:n"); while(1) scanf("%d",d); 正確: scanf("%d",&d); if(d=0) break; 正確: d=0 sum+=d; printf("sum=%fn",sum); 正確: printf("sum=%dn",sum) ; 30、求1+2+3+4+n(n<100)#include<stdio.h>fun(n); 正確: main() int p, n;scanf("%d&quo
22、t;,&n);p=int fun(n); 正確: printf("p=%d",p);int fun(int m) int total; 正確: int i=1;while(i<=m) total=total+i;i+;return; 正確: 32. 求一個(gè)3×3矩陣的主對(duì)角線元素之和main( ) int a33;int sum; int i,j; printf(“Enter data:n”); for(i=0;i<3;i+) for(j=0,j<3,j+) scanf(“%f”,&aij); for(i=0;i<3;i+) for(j=0,j<=3;j+) if (i=j)sum +=aij; printf(“sum=%5dn”,sum);33. 攝氏溫度 C=(5/9)(F-32),求華氏溫度F=100時(shí)對(duì)應(yīng)的攝氏溫度。#include <stdoi.h>void main(void) int celsius; fahr; fahr = 100; celsius = 5 * (fahr - 32) / 9
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024裝修垃圾清運(yùn)合同范本
- 2024年廢棄物處理爆破合同
- 2024家庭保姆用工合同版
- 2024年商場(chǎng)室內(nèi)LED廣告屏購(gòu)銷合同
- 2024年工程項(xiàng)目質(zhì)量保證與驗(yàn)收合同條款
- 二手房產(chǎn)買賣合同協(xié)議模板
- 2024年簡(jiǎn)化版購(gòu)房合同協(xié)議
- 各類維修合同范文集成
- 合同訴訟時(shí)效問題
- 2024版店鋪合租合同樣本
- 5.1.2等式的性質(zhì)(教學(xué)課件)
- 憲法衛(wèi)士2024第九屆學(xué)憲法講憲法活動(dòng)學(xué)習(xí)練習(xí)答案(初1-高3)
- 職業(yè)衛(wèi)生健康考試題庫(kù)
- 財(cái)經(jīng)素養(yǎng)知識(shí)考試題及答案
- 敘事護(hù)理學(xué)智慧樹知到答案2024年中國(guó)人民解放軍海軍軍醫(yī)大學(xué)
- 醫(yī)院病歷書寫基本規(guī)范培訓(xùn)課件
- 口腔黏膜疾病的診斷和治療新進(jìn)展
- 預(yù)支款項(xiàng)協(xié)議書
- 完整版抖音運(yùn)營(yíng)推廣方案課件
- 公司以PPP模式實(shí)施專項(xiàng)項(xiàng)目可行性專題研究報(bào)告可研模板
- 中國(guó)郵政社招筆試題庫(kù)
評(píng)論
0/150
提交評(píng)論