實(shí)驗(yàn)改錯(cuò)填空題_第1頁
實(shí)驗(yàn)改錯(cuò)填空題_第2頁
實(shí)驗(yàn)改錯(cuò)填空題_第3頁
實(shí)驗(yàn)改錯(cuò)填空題_第4頁
實(shí)驗(yàn)改錯(cuò)填空題_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、.實(shí)驗(yàn)12改錯(cuò)題(1)下列程序的功能為:計(jì)算x*y的值并將結(jié)果輸出。試糾正程序中存在錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名sy1_2.c保存。#include main int x=2;y=3;aA=x*yprint (a=%d,a);printf(n);#include main() int x=2,y=3,a;a=x*y;printf(a=%d,a);printf(n);(2)下列程序的功能為:求兩數(shù)中的較大數(shù)據(jù)并輸出。試糾正程序中存在錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名sy1_3.c保存。#includeviod main()int a,b,max;Scanf(%d,%d,&a,&b); Max=

2、a;If(maxb) max=b; Printf(max=%dn,max); #include void main()int a,b,max;scanf(%d,%d,&a,&b);max=a;if (maxb) max=b;printf(max=%d,max);3填空題(1)從鍵盤輸入兩個(gè)整數(shù),輸出這兩個(gè)整數(shù)的和。根據(jù)注釋信息填寫完整程序,以實(shí)現(xiàn)其功能。程序以文件名sy1_4.c保存。#includemain() int x,y,total; /*定義整型變量x,y,total*/printf(Please input x,y ! ); /*輸出提示信息*/printf(Please inpu

3、t x,y!); /*由鍵盤輸入兩個(gè)數(shù)分別賦予x和y*/scanf(%d,%d,&x,&y);total=x+y; /*賦值語句*/printf(%d + %d=%dn,x,y,total); /*輸出兩個(gè)整數(shù)的和*/(2)從鍵盤輸入兩個(gè)整數(shù),輸出這兩個(gè)整數(shù)的差。根據(jù)注釋信息填寫完整程序,以實(shí)現(xiàn)其功能。程序以文件名sy1_5.c保存。#includemain()int a,b,m;printf(Input a,b please!);scanf(%d%d,&a,&b);m=a-b; /*賦值語句,將a和b的差值賦給m */printf(%d-%d=%dn,a,b,m); /*輸出a 和b差的結(jié)果

4、值后換行*/實(shí)驗(yàn)3 1改錯(cuò)題(1)下列程序的功能為: 輸入一個(gè)華氏溫度,要求輸出攝氏溫度。公式為:C= ,輸出取2位小數(shù)。請(qǐng)糾正程序中存在的錯(cuò)誤,使程序?qū)崿F(xiàn)其功能,程序以文件名sy3_1.c保存。#include main()float c,f;printf(請(qǐng)輸入一個(gè)華氏溫度:n);scanf(%f,f);c=(5/9)*(f-32);printf(攝氏溫度為:%5.2fnc);#include main()float c,f;printf(請(qǐng)輸入一個(gè)華氏溫度:n);scanf(%f,&f);c=(5.0/9)*(f-32);printf(攝氏溫度為:%5.2fn,c);(2)下列程序的功能

5、為:按下列公式計(jì)算并輸出x的值。其中a和b的值由鍵盤輸入。 x=2ab/(a+b)2請(qǐng)糾正程序中存在的錯(cuò)誤,使程序?qū)崿F(xiàn)其功能,程序以文件名sy3_2.c保存。#include main() int a,b; float x; scanf(%d,%d,a,b); x=2ab/(ab)(ab); printf(x=%dn,x);#include main() int a,b; float x; scanf(%d,%d,&a,&b); x=2.0*a*b/(a+b)*(a+b); printf(x=%fn,x);(3)下列程序的功能為:從鍵盤輸入一個(gè)小寫字母,要求改用大寫字母輸出。糾正程序中存在的錯(cuò)

6、誤,以實(shí)現(xiàn)其功能,程序以文件名sy3_3.c保存。#include main() char c1,c2; c1=getchar; printf(%c,%dn,c1,c1); c2=c1+26; printf(%c,%dn,c2,c2); #include main() char c1,c2; c1=getchar(); printf(%c,%dn,c1,c1); c2=c1-32; printf(%c,%dn,c2,c2); 2程序填空(1)下列程序的功能為:給定格式輸入數(shù)據(jù),按要求格式輸出結(jié)果,補(bǔ)充完善程序,以實(shí)現(xiàn)其功能,程序以文件名sy3_4.c保存。輸入形式enter x,y:2 3.4

7、輸出形式x+y=5.4#include main() int x;float y;printf (enter x,y: );scanf(%d%f,&x,&y);printf(x+y=%.1fn,x+y);(2) 下列程序的功能為:設(shè)圓半徑r=1.5,圓柱高h(yuǎn)=3,求圓周長、圓面積、圓球表面積、圓球體積、圓柱體積。用scanf輸入數(shù)據(jù)r、h,輸出計(jì)算結(jié)果,輸出時(shí)要求有文字說明,取小數(shù)點(diǎn)后位數(shù)字。(周長l=2,圓面積s=,圓球表面積sq=,圓球體積vq=;圓柱體積vz=)請(qǐng)?zhí)顚戇m當(dāng)?shù)姆?hào)或語句,使程序?qū)崿F(xiàn)其功能,程序以文件名sy3_5.c保存。#include main()float pi,h,r

8、,l,s,sq,vq,vz;pi=3.1415926;printf(請(qǐng)輸入圓半徑r,圓柱高h(yuǎn):n);scanf(%f%f,&r,&h);l= 2*pi*r ;s= pi*r*r ;sq= 4*pi*r*r ;vq= 3.0/4*pi*r*r*r ;vz= pi*h*r*r ;printf(圓周長為:%.2fn,l );printf(圓面積為:%.2fn, s );printf(圓球表面積為:%.2fn, sq );printf(圓球體積為:%.2fn, vq );printf(圓柱體積為:%.2fn, vz );(3) 下列程序的功能為:通過鍵盤輸入兩個(gè)整數(shù),分別存入變量x,y中,通過中間變量

9、t互換x,y之值,并輸出之。請(qǐng)?zhí)顚戇m當(dāng)?shù)姆?hào)或語句,使程序?qū)崿F(xiàn)其功能,程序以文件名sy3_6.c保存。#include main() int x,y,t; printf(請(qǐng)輸入x,y:n); scanf(%d%d,&x,&y); if (xy) t=x;x=y; y=t; /x與y交換 printf(交換后的x:%d y:%d n,x,y);實(shí)驗(yàn)41改錯(cuò)題(1)下列程序的功能為:輸入1個(gè)字母,如果它是小寫字母,則首先將其轉(zhuǎn)換成大寫字母,再輸出該字母的前序字母、該字母、該字母的后序字母,例如:輸入g,則輸出FGH;輸入a,則輸出ZAB;輸入M,則輸出LMN;輸入Z,則輸出YZA。糾正程序中存在的

10、錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名sy4_1.c保存。#include main()char ch,c1,c2;printf(Enter a character:);ch=getchar();if(ch=a)|(ch=z)ch-=32;c1=ch-1;c2=ch+1;if(ch=A) c1=ch+25;else if(ch=Z) c2=ch-25;putchar(c1);putchar(ch);putchar(c2);putchar(n);#include main() char ch,c1,c2; printf(Enter a character:); ch=getchar(); if(ch=

11、a)&(ch=z) ch-=32; c1=ch-1; c2=ch+1; if(ch=A) c1=ch+25; else if(ch=Z) c2=ch-25; putchar(c1); putchar(ch); putchar(c2); putchar(n);(2)下列程序的功能為:輸入3個(gè)整數(shù)后,輸出其中最大值。糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名sy4_2.c保存。#include main()int a,b,c,max;printf (請(qǐng)輸入個(gè)整數(shù):n);scanf (%d%d%d,&a,&b,&c);max=a;if (cb) if (ba) max=c;else if (c

12、a) max=b; printf(個(gè)數(shù)中最大者為:%dn,max);#include stdio.hmain() int a,b,c,max; printf (請(qǐng)輸入3個(gè)整數(shù):n); scanf (%d%d%d,&a,&b,&c); max=a; if (cb) if (ba) max=c; else if (ba) max=b; printf(3個(gè)數(shù)中最大者為:%dn,max);(3)下列程序的功能為:輸入1-4月份號(hào),輸出該月份對(duì)應(yīng)的英語表示法。例如,輸入“3”,則輸出“Mar”。糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名sy4_3.c保存。#include main()char m

13、;printf(input the month number:n);scanf (%c,&m);switch (m) case 1:printf (Jan);case 2:printf (Feb);case 3:printf (Mar);case 4:printf (Apr);#include stdio.hmain() char m; printf(input the month number:n); scanf (%c,&m); switch (m) case 1:printf(Jann);break; case 2:printf(Febn);break; case 3:printf(Ma

14、rn);break; case 4:printf(Aprn);break; default:break; 2程序填空題(1)下列程序的功能為:判斷從鍵盤上輸入的一個(gè)字符,并按下列要求輸出。若該字符是數(shù)字,輸出字符串0-9若該字符是大寫字母,輸出字符串A-Z若該字符是小寫字母,輸出字符串a(chǎn)-z若該字符是其他字符,輸出字符串!,補(bǔ)充完善程序,以實(shí)現(xiàn)其功能。程序以文件名sy4_4.c保存。#include main() char c; scanf(%c,&c); if(0=c&c=9) printf(0-9n); else if(A=c&c=Z) printf(A-Zn); else if(a=c&

15、c=z) printf(a-zn); else printf(!,n);(2)下列程序的功能為:實(shí)現(xiàn)加、減、乘、除四則運(yùn)算。補(bǔ)充完善程序,以實(shí)現(xiàn)其功能。程序以文件名sy4_5.c保存。#include main() int a,b,d; char ch; printf(Please input a expression:); scanf(%d%c%d,&a,&ch,&b); switch(ch) case +:d=a+b; printf(%d+%d=%dn,a,b,d); break; case -:d=a-b; printf(%d-%d=%dn,a,b,d); break; case *:d

16、=a*b; printf(%d*%d=%dn,a,b,d); break; case /:if(b=0) printf(Divisor is zeron); else printf(%d/%d=%fn,a,b,(float)a/b); /*強(qiáng)制類型轉(zhuǎn)換*/ break; default: printf(Input Operator error!n); (3)下列程序的功能為:猜價(jià)格,用戶輸入自己估計(jì)的價(jià)格,程序判斷其正確性。補(bǔ)充完善程序,以實(shí)現(xiàn)其功能。程序以文件名sy4_6.c保存。#include stdio.hmain() float a,b; printf(請(qǐng)主持人輸入時(shí)尚手機(jī)的實(shí)際價(jià)格

17、n); scanf(%f,&b); printf(nn請(qǐng)觀眾猜時(shí)尚手機(jī)的價(jià)格n); scanf(%f,&a); if(ab) printf(高了n);實(shí)驗(yàn)5 1改錯(cuò)題(1)下列程序的功能為:求1100之和(和值為5050)并輸出。糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名sy5_1.c保存。#include main() int i,sum=0; i=1; while(i=100) sum=sum+i;i+; printf(The sum from 1 to 100 is %dn,sum);#include main() int i,sum=0; i=1; while(i=100) su

18、m=sum+i; i+; printf(The sum from 1 to 100 is %dn,sum);(2)下列程序的功能為:倒序打印26個(gè)英文字母。糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能,程序以文件名sy5_2.c保存。#include main() char x; x=z; while(x!=a) printf(%3d,x); x+; #include main() char x; x=z; while(x=a) printf(%3c,x); x-; (3)下列程序的功能為:輸入一個(gè)大寫字母,打印出一個(gè)菱形。該菱形中間一行由此字母組成,其相鄰的上下兩行由它前面的一個(gè)字母組成,按此規(guī)律,直

19、到字母A出現(xiàn)在第一行和最末行為止。糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名sy5_3.c保存。例如,輸入字母D,打印出如下圖形: A BBB CCCCC DDDDDDD CCCCC BBB A#include main()int i,j,k;char ch;scanf(%c,&ch);k=ch-A+1;for (i=1;i=i;j-)printf(%c, );for (j=1;j=1;i-)for (i=20;i=i;i-)printf(%c, );for (j=1; j2*i-1;j+)printf(%c,A+i-1);printf(n);#include main()int i,j

20、,k;char ch;scanf(%c,&ch);k=ch-A+1;for (i=1;i=i;j-)printf(%c, );for (j=1;j=1;i-)for (j=20;j=i;j-)printf(%c, );for (j=1;j=2*i-1;j+)printf(%c,A+i-1);printf(n);2程序填空題(1)用輾轉(zhuǎn)相除法求兩個(gè)正整數(shù)的最大公約數(shù)和最小公倍數(shù)。補(bǔ)充完善程序,以實(shí)現(xiàn)其功能,程序以文件名sy5_4.c保存?!拜氜D(zhuǎn)相除法”求兩個(gè)正整數(shù)的最大公約數(shù)的算法如下: 將兩數(shù)中大的那個(gè)數(shù)放在m中,小的放在n中; 求出m被n除后的余數(shù)r; 若余數(shù)為0則執(zhí)行步驟,否則執(zhí)行步驟;

21、把除數(shù)作為新的被除數(shù),把余數(shù)作為新的除數(shù); 求出新的余數(shù)r; 重復(fù)步驟。 輸出n,n即為最大公約數(shù)。#include main () int r,m,n,t; scanf(%d%d,&m,&n); if(mn) t=m;m=n;n=t; t=m*n; r=m%n; while(r) m=n; n=r; r=m%n; printf(%d %dn,n, t/n);(2)假設(shè)有1020個(gè)西瓜,第一天賣了一半多兩個(gè),以后每天賣剩的一半多兩個(gè),求幾天后能賣完。補(bǔ)充完善程序,以實(shí)現(xiàn)其功能。程序以文件名sy5_5.c保存。#include main() int day,x1,x2; day=0; x1=10

22、20; while(x10) x2=x1/2-2; x1=x2; day+; printf(day=%dn,day);(3)下列程序的功能為:輸出100以內(nèi)能被3整除且個(gè)位數(shù)為6的所有整數(shù).補(bǔ)充完善程序,以實(shí)現(xiàn)其功能。程序以文件名sy5_6.c保存。#include main() int i,j; for(i=0;i10;i+) j=i*10+6;if (j%3!=0) continue; printf(%d ,j); printf(n);實(shí)驗(yàn)6 1改錯(cuò)題(1)下列程序的功能為:為指定的數(shù)組輸入10個(gè)數(shù)據(jù),并求這些數(shù)據(jù)之和。糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名sy6_1.c保存。#

23、includevoid main() int n=10,i,sum=0; int an; for(i=0;i10;i+) scanf(%d,ai); sum=sum+ai; printf(sum=%dn,sum);#includevoid main()int n=10,i,sum=0;int a10;for(i=0;i10;i+)scanf(%d,&ai);sum=sum+ai;printf(sum=%dn,sum);(2)下列程序的功能為:將字符串b連接到字符串a(chǎn)。糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名sy6_2.c保存。#includevoid main( ) char a=we

24、l,b=come; int i,n=0; while(!an) n+; for(i=0;bi!=0;i+) an+i=bi; an+i=0; printf(%sn,a);#includevoid main( )char a10=wel,b=come;int i,n=0;while(an!=0) n+;for(i=0;bi!=0;i+)an+i=bi;an+i=0;printf(%sn,a);(3)下列程序的功能為:找出一個(gè)二維數(shù)組中的鞍點(diǎn),即該位置上的元素在該行上最大,在該列上最小。也可能沒有鞍點(diǎn)。糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名sy6_3.c保存。#include#defin

25、e N 4#define M 4main() int i,j,k,flag1,flag2,aNM,max,maxj; for (i=0;iN;i+) for (j=0;jM;j+) scanf(%d,&aij); flag2=0;/1, for (i=0;iN;i+) max=aj0;maxj=0;/i for (j=0;jmax) max=aij; maxj=j; for (k=0,flag1=1;kakmaxj) flag1=0; if (flag1) printf(nThe saddle point is:a%d%d=%dn,i,maxj,max); flag2=1;/0 if (fla

26、g2) printf(nThere is no saddle point in the Matrixn);#include#define N 4#define M 4main()int i,j,k,flag1,flag2,aNM,max,maxj;for(i=0;iN;i+) for(j=0;jM;j+)scanf(%d,&aij);flag2=0; for(i=0;iN;i+) max=ai0; maxj=0; for(j=0;jmax) max=aij; maxj=j; for (k=0,flag1=1;kakmaxj) flag1=0; if (flag1) printf(nThe sa

27、ddle point is:a%d%d=%dn,i,maxj,max); flag2=1;if (!flag2) printf(nThere is no saddle point in the Matrixn);2程序填空題(1)以下程序的功能是:采用二分法在給定的有序數(shù)組中查找用戶輸入的值,并顯示查找結(jié)果。補(bǔ)充完善程序,以實(shí)現(xiàn)其功能。程序以文件名sy6_4.c保存。#include stdio.h#define N 10main() int a =0,1,2,3,4,5,6,7,8,9,k;int low=0,high=N-1,mid,find=0;printf(請(qǐng)輸入欲查找的值:n);sc

28、anf(%d,&k);while (lowk)high=mid-1; elselow=mid+1; if(!find) printf(%d未找到n,k);(2)以下程序的功能是:求3個(gè)字符串(每串不超過20個(gè)字符)中的最大者。補(bǔ)充完善程序,以實(shí)現(xiàn)其功能。程序以文件名sy6_5.c保存。#include#includevoid main()char string20,str320;int i;for (i=0;i0 ) strcpy(string,str0);else strcpy(string,str1);if ( strcmp(string, str0)0 ) strcpy(string,s

29、tr2); puts(string);(3)下列程序的功能為:從鍵盤輸入20個(gè)整數(shù),統(tǒng)計(jì)非負(fù)數(shù)個(gè)數(shù),并計(jì)算非負(fù)數(shù)之和。補(bǔ)充完善程序,以實(shí)現(xiàn)其功能。程序以文件名sy6_6.c保存。#include main()int i,a20,sum=0,count=0;for(i=0;i20;i+ )scanf(%d, &ai );for(i=0;i20;i+)if(ai0)continue; sum+=ai;count+;printf(s=%dt count=%dn,sum,count);實(shí)驗(yàn)7 1改錯(cuò)題(1)下列sub函數(shù)的功能為:將s所指字符串的反序和正序進(jìn)行連接形成一個(gè)新串放在t所指的數(shù)組中。例如,

30、當(dāng)s所指字符串的內(nèi)容為“ABCD”時(shí),t所指數(shù)組中的內(nèi)容為“DCBAABCD”。糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名sy7_1.c存盤。#include #include void sub( char s, char t )int i, d;d=strlen(s); for(i=1;id;i+)ti=sd-1-i;for(i=0;id;i+)td+i=si;t2*d=/0;main( )char s100, t100;printf( Please enter string s : );scanf(%s , s );sub(s,t);printf( n The result is :

31、 %s n , t ); #include #include void sub( char s, char t )int i, d;d=strlen(s); for(i=0;id;i+)ti=sd-1-i;for(i=0;id;i+)td+i=si;t2*d=0;main( )char s100, t100;printf( Please enter string s : );scanf(%s , s );sub(s,t);printf( n The result is : %s n , t ); (2)下列程序的功能為:將字符數(shù)組中的字符串逆序輸出。糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文

32、件名sy7_2.c存盤。#include#include#define ARR_SIZE 80 void Inverse(char str); void main()char aARR_SIZE;printf(Please enter a string: ); gets(a); Inverse(char a); printf(The inversed string is: );puts(a);void Inverse(char str)int len,i=0,j;char temp; len=strlen(str);for(j=len-1;ij;i+,j-) temp=stri;strj=st

33、ri; strj=temp;#include#include#define ARR_SIZE 80 void Inverse(char str); void main()char aARR_SIZE;printf(Please enter a string: ); gets(a); Inverse(a); printf(The inversed string is: );puts(a);void Inverse(char str)int len,i=0,j;char temp; len=strlen(str);for(j=len-1;ij;i+,j-) temp=stri;stri=strj;

34、 strj=temp;(3)下列程序的功能為:求整數(shù)n的階乘。糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名sy7_3.c存盤。#includeint fun(int n) static int p=1; p=p*n; return p;void main() int n,i; int f=0; printf(input member: ); scanf(%d,&n); for(i=1;i=n;i+) f=f*fun(i); printf(%d!=%dn,n,f);#includeint fun(int n) static int p=1; p=p*n; return p;void main()

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論