《C語言基礎》復習備考改錯題匯總

上傳人:無*** 文檔編號:134706714 上傳時間:2022-08-13 格式:PDF 頁數(shù):54 大?。?85.50KB
收藏 版權申訴 舉報 下載
《C語言基礎》復習備考改錯題匯總_第1頁
第1頁 / 共54頁
《C語言基礎》復習備考改錯題匯總_第2頁
第2頁 / 共54頁
《C語言基礎》復習備考改錯題匯總_第3頁
第3頁 / 共54頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《C語言基礎》復習備考改錯題匯總》由會員分享,可在線閱讀,更多相關《《C語言基礎》復習備考改錯題匯總(54頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、C 語言基礎復習備考改錯題匯總1、給定程序中、給定程序中 fun 函數(shù)的功能是:根據(jù)整型形參函數(shù)的功能是:根據(jù)整型形參 m 的值,計算如下公式的值:的值,計算如下公式的值:例如,若例如,若 m 中的值為中的值為 5,則應輸出,則應輸出 0.536389。請改正程序中的錯誤,使它能得出正確的結果。請改正程序中的錯誤,使它能得出正確的結果。注意:不要改動注意:不要改動 main 函數(shù),不得增行或刪行,也不得更改程序的結構!函數(shù),不得增行或刪行,也不得更改程序的結構!#include double fun(int m)double y=1.0;int i;/*found*/for(i=2;i m;i

2、+)改為:改為:for(i=2;i=m;i+)/*found*/y-=1/(i*i);改為:改為:y-=1.0/(i*i);return(y);main()int n=5;printf(nThe result is%lfn,fun(n);2、給定程序中、給定程序中 fun 函數(shù)的功能是:將函數(shù)的功能是:將 s 所指字符串的正序和反序進行連接,形成一個新串所指字符串的正序和反序進行連接,形成一個新串放在放在 t 所指的數(shù)組中。所指的數(shù)組中。例如,當例如,當 s 所指字符串為所指字符串為“ABCD”時,則時,則 t 所指字符串的內(nèi)容應為所指字符串的內(nèi)容應為“ABCDDCBA”#include#in

3、clude/*found*/void fun(char s,char t)改為:改為:void fun(char *s,char *t)int i,d;d=strlen(s);for(i=0;id;i+)ti=si;for(i=0;id;i+)td+i=sd-1-i;/*found*/t2*d-1=0;改為:改為:t2*d=0;main()char s100,t100;printf(nPlease enter string S:);scanf(%s,s);fun(s,t);printf(nThe result is:%sn,t);3、給定程序中、給定程序中 fun 函數(shù)的功能是:將函數(shù)的功能是

4、:將 s 所指字符串中位于奇數(shù)位置的字符或所指字符串中位于奇數(shù)位置的字符或 ASCII 碼為偶碼為偶數(shù)的字符放入數(shù)的字符放入 t 所指數(shù)組中(規(guī)定第一個字符放在第所指數(shù)組中(規(guī)定第一個字符放在第 0 位中)位中)。例如:字符串中的數(shù)據(jù)為:例如:字符串中的數(shù)據(jù)為:AABBCCDDEEFF,則應輸出則應輸出 ABBCDDEFF。#include#include#define N 80void fun(char*s,char t)int i,j=0;for(i=0;istrlen(s);i+)/*found*/if(i%2&si%2=0)改為:改為:if(i%2=0|si%2=0)tj+=si;/*

5、found*/ti=0;改為:改為:tj=0;main()char sN,tN;printf(nPlease enter string s:);gets(s);fun(s,t);printf(nThe result is:%sn,t);4、給定程序中、給定程序中 fun 函數(shù)的功能是:計算函數(shù)的功能是:計算 n!。例如,給。例如,給 n 輸入輸入 5,則輸出,則輸出 120.000000。#include double fun(int n)double result=1.0;/*found*/if n=0改為:改為:if(n=0)return 1.0;while(n 1&n 170)/*fou

6、nd*/result*=n-改為:改為:result*=n-;return result;main()int n;printf(Input N:);scanf(%d,&n);printf(nn%d!=%lfnn,n,fun(n);5、給定程序中、給定程序中 fun 函數(shù)的功能是:先從鍵盤上輸入一個函數(shù)的功能是:先從鍵盤上輸入一個 3 行行 3 列的矩陣的各個元素的值,列的矩陣的各個元素的值,然后輸出主對角線元素之和。然后輸出主對角線元素之和。#include int fun()int a33,sum;int i,j;/*found*/_;改為:改為:sum=0 for(i=0;i3;i+)fo

7、r(j=0;j3;j+)/*found*/scanf(%d,aij);改為:改為:scanf(%d,&aij);for(i=0;i3;i+)sum=sum+aii;printf(Sum=%dn,sum);main()fun();6、給定程序中、給定程序中 fun 函數(shù)的功能是:求函數(shù)的功能是:求,(此處(此處 aaaa表示表示 n 個個 a,a 和和 n 的值在的值在 1 至至 9 之間)之間)。例如,。例如,a=3,n=6,則以上表達式為:,則以上表達式為:s=333333-33333-3333-333-33-3,其值是:,其值是:296298。a 和和 n 是是 fun 函數(shù)的形參。函數(shù)的

8、形參。#include long fun(int a,int n)int j;/*found*/long s=0,t=1;改為:改為:long s=0,t=0;/*found*/for(j=0;j=n;j+)改為:改為:for(j=0;j n;j+)t=t*10+a;s=t;for(j=1;j n;j+)/*found*/t=t%10;改為:改為:t=t/10;s=s-t;return(s);main()int a,n;printf(nPlease enter a and n:);scanf(%d%d,&a,&n);printf(The value of function is:%ldn,fu

9、n(a,n);7、給定程序中、給定程序中 fun 函數(shù)的功能是:求函數(shù)的功能是:求 k!(k13),所求階乘的值作為函數(shù)值返回。例如:若,所求階乘的值作為函數(shù)值返回。例如:若k=10,則應輸出,則應輸出 3628800。#include long fun(int k)/*found*/if k 0改為:改為:if(k 0)return(k*fun(k-1);/*found*/else if(k=0)改為:改為:else if(k=0)return 1L;main()int k=10;printf(%d!=%ldn,k,fun(k);8、給定程序中、給定程序中 fun 函數(shù)的功能是:由形參給定函

10、數(shù)的功能是:由形參給定 n 個實數(shù),輸出平均值,并統(tǒng)計在平均值以個實數(shù),輸出平均值,并統(tǒng)計在平均值以上(含平均值)的實數(shù)個數(shù)。上(含平均值)的實數(shù)個數(shù)。例如,例如,n=8 時,輸入:時,輸入:193.99,195.673,195.757,196.051,196.092,196.596,196.579,196.763,所得平均值為:所得平均值為:195.838745,在平均值以上的實數(shù)個數(shù)應為:,在平均值以上的實數(shù)個數(shù)應為:5。#include int fun(float x,int n)/*found*/int j,c=0,float xa=0.0;改為:改為:int j,c=0;float

11、xa=0.0;for(j=0;jn;j+)xa+=xj/n;printf(ave=%fn,xa);for(j=0;j xa)改為:改為:if(xj=xa)c+;return c;main()float x100=193.199,195.673,195.757,196.051,196.092,196.596,196.579,196.763;printf(%dn,fun(x,8);9、給定程序中、給定程序中 fun 函數(shù)的功能是:將函數(shù)的功能是:將 tt 所指字符串中的小寫字母都改為對應的大寫字母,所指字符串中的小寫字母都改為對應的大寫字母,其它字符不變。例如:若輸入其它字符不變。例如:若輸入“A

12、b,cD”,則輸出,則輸出“AB,CD”#include#include char*fun(char tt)int i;for(i=0;tti;i+)/*found*/if(a=tti)|(tti=a)&(tti=z)/*found*/tti+=32;改為:改為:tti-=32;return(tt);main()char tt81;printf(nPlease enter a string:);gets(tt);printf(nThe result string is:n%s,fun(tt);10、給定程序中、給定程序中 fun 函數(shù)的功能是:在函數(shù)的功能是:在 p 所指字符串中找出所指字符串

13、中找出 ASCII 碼值最大的字符,將其碼值最大的字符,將其放在第一個位置上;并將該字符前的原字符向后順序移動。例如,調(diào)用放在第一個位置上;并將該字符前的原字符向后順序移動。例如,調(diào)用 fun 函數(shù)這前給函數(shù)這前給字符串輸入:字符串輸入:ABCDeFGH,調(diào)用后字符串中的內(nèi)容為:調(diào)用后字符串中的內(nèi)容為:eABCDFGH。#include/*found*/fun(char*p)改為:改為:void fun(char*p)char max,*q;int i=0;max=pi;while(pi!=0)if(maxp)改為:改為:while(qp)*q=*(q-1);q-;p0=max;main()c

14、har str80;printf(Enter a string:);gets(str);printf(nThe original string:);puts(str);fun(str);printf(nThe string after moving:);puts(str);printf(nn);11、給定程序、給定程序 MODI1.CJ 是建立一個帶頭結點的單向鏈表,并用隨機函數(shù)為各結點賦值。是建立一個帶頭結點的單向鏈表,并用隨機函數(shù)為各結點賦值。給定程序中給定程序中 fun 函數(shù)的功能是將單向鏈表結點(不包括頭結點)數(shù)據(jù)域為偶數(shù)的值累加函數(shù)的功能是將單向鏈表結點(不包括頭結點)數(shù)據(jù)域為偶數(shù)的

15、值累加起來,并作為函數(shù)值返回。起來,并作為函數(shù)值返回。#include#include typedef struct aa int data;struct aa *next;NODE;int fun(NODE *h)int sum=0;NODE *p;/*found*/p=h;改為:改為:p=h-next;/*found*/while(p-next)改為:改為:while(p)if(p-data%2=0)sum+=p-data;/*found*/p=h-next;改為:改為:p=p-next;return sum;NODE *creatlink(int n)NODE *h,*p,*s,*q;i

16、nt i,x;h=p=(NODE*)malloc(sizeof(NODE);for(i=1;idata=rand()%16;s-next=p-next;p-next=s;p=p-next;p-next=NULL;return h;outlink(NODE *h,FILE *pf)NODE*p;p=h-next;fprintf(pf,nnTHE LIST:nn HEAD );while(p)fprintf(pf,-%d,p-data);p=p-next;fprintf(pf,n);outresult(int s,FILE*pf)fprintf(pf,nThe sum of even number

17、s :%dn,s);main()NODE *head;int even;head=creatlink(12);head-data=9000;outlink(head,stdout);even=fun(head);printf(nThe result :n);outresult(even,stdout);12、給定程序中、給定程序中 fun 函數(shù)的功能是:求三個數(shù)的最小公倍數(shù)。例如,給主函數(shù)中的變量函數(shù)的功能是:求三個數(shù)的最小公倍數(shù)。例如,給主函數(shù)中的變量x1,x2,x3 分別輸入分別輸入 15 11 2,則輸出結果應當是:,則輸出結果應當是:330。#include/*found*/fun(i

18、nt x,y,z)改為:改為:fun(int x,int y,int z)int j,t,n,m;/*found*/j=1;改為:改為:j=x;t=j%x;m=j%y;n=j%z;/*found*/while(t!=0&m!=0&n!=0)改為:改為:while(t!=0|m!=0|n!=0)j=j+1;t=j%x;m=j%y;n=j%z;/*found*/return i;改為:改為:return j;main()int x1,x2,x3,j;printf(Input x1 x2 x3:);scanf(%d%d%d,&x1,&x2,&x3);printf(x1=%d,x2=%d,x3=%d

19、n,x1,x2,x3);j=fun(x1,x2,x3);printf(The minimal common multiple is:%dn,j);13、給定程序中、給定程序中 fun 函數(shù)的功能是:先將在字符串函數(shù)的功能是:先將在字符串 s 中的字符按正序存放到中的字符按正序存放到 t 串中,然后把串中,然后把s 中的字符按逆序連接到中的字符按逆序連接到 t 串的后面。例如:當串的后面。例如:當 s 聽字符串為聽字符串為“ABCDE”時,則時,則 t 中的中的字符串應為字符串應為“ABCDEEDCBA”。#include#include void fun(char *s,char *t)int

20、 i,sl;sl=strlen(s);/*found*/for(i=0;i=s1;i+)改為:改為:for(i=0;i sl;i+)ti=si;for(i=0;isl;i+)tsl+i=ssl-i-1;/*found*/tsl=0;改為:改為:t2*sl=0;main()char s100,t100;printf(nPlease enter string s:);scanf(%s,s);fun(s,t);printf(The result is:%sn,t);14、給定程序中、給定程序中 fun 函數(shù)的功能是:從函數(shù)的功能是:從 s 所指字符串中刪除所有小寫字母所指字符串中刪除所有小寫字母 c

21、。#include void fun(char *s)int i,j;for(i=j=0;si!=0;i+)if(si!=c)/*found*/sj=si;改為:改為:sj+=si;/*found*/si=0;改為:改為:sj=0;main()char s80;printf(Enter a string:);gets(s);printf(The original string:);puts(s);fun(s);printf(The string after deleted:);puts(s);printf(nn);15、給定程序中、給定程序中 fun 函數(shù)的功能是:從整數(shù)函數(shù)的功能是:從整數(shù)

22、1 到到 55 之間,選出能被之間,選出能被 3 整除、且有一位上的整除、且有一位上的數(shù)是數(shù)是 5 的那些數(shù),并把這些數(shù)放在的那些數(shù),并把這些數(shù)放在 b 所指的數(shù)組中,這些數(shù)的個數(shù)作為函數(shù)值返回。規(guī)所指的數(shù)組中,這些數(shù)的個數(shù)作為函數(shù)值返回。規(guī)定,函數(shù)中定,函數(shù)中 a1 放個位數(shù),放個位數(shù),a2 放十位數(shù)。放十位數(shù)。#include/*found*/fun(int *b)改為:改為:int fun(int *b)int k,a1,a2,i=0;/*found*/for(k=10;k=55;k+)改為:改為:for(k=10;k55;k+)/*found*/a2=k/1O;改為:改為:a2=k/1

23、0;a1=k-a2*10;if(k%3=0&a2=5)|(k%3=0&a1=5)bi=k;i+;/*found*/return k;改為:改為:return i;main()int a100,k,m;m=fun(a);printf(The result is:n);for(k=0;km;k+)printf(%4d,ak);printf(n);16、給定程序中、給定程序中 fun 函數(shù)的功能是:求函數(shù)的功能是:求 S 的值。的值。例如,當例如,當 k 為為 10 時,函數(shù)值應為:時,函數(shù)值應為:1.533852。#include#include/*found*/void fun(int k)改為

24、:改為:float fun(int k)int n;float s,w,p,q;n=1;s=1.0;while(n=k)w=2.0*n;p=w-1.0;q=w+1.0;s=s*w*w/p/q;n+;/*found*/return s改為:改為:return s;main()printf(%fn,fun(10);17、給定程序中、給定程序中 fun 函數(shù)的功能是:將十進制正整數(shù)函數(shù)的功能是:將十進制正整數(shù) m 轉換成轉換成 k(2=k=9)進制數(shù),并按高進制數(shù),并按高位到低位順序輸出。位到低位順序輸出。例如,若輸入例如,若輸入 8 和和 2,則應輸出,則應輸出 1000(即十進制數(shù)(即十進制數(shù)

25、8 轉換成二進制表示是轉換成二進制表示是 1000)。#include#include/*found*/fun(int m,int k)改為:改為:void fun(int m,int k)int aa20,i;for(i=0;m;i+)/*found*/aai=m/k;改為:改為:aai=m%k;m/=k;for(;i;i-)/*found*/printf(%d,aa i );改為:改為:printf(%d,aa i-1);main()int b,n;printf(nPlease enter a number and a base:n);scanf(%d%d,&n,&b);fun(n,b);

26、printf(n);18、給定程序中、給定程序中 fun 函數(shù)的功能是:根據(jù)整型形參函數(shù)的功能是:根據(jù)整型形參 n,計算如下公式的值。,計算如下公式的值。例如:若例如:若 n=10,則應輸出,則應輸出 0.617977.#include/*found*/int fun(int n)改為:改為:float fun(int n)float A=1;int i;/*found*/for(i=2;in;i+)改為:改為:for(i=2;i=n;i+)A=1.0/(1+A);return A;main()int n;printf(nPlease enter n:);scanf(%d,&n);printf

27、(A%d=%fn,n,fun(n);19、給定程序中、給定程序中 fun 函數(shù)的功能是:輸出函數(shù)的功能是:輸出 M 行行 M 列整數(shù)方陣,然后求兩條對角線上元素之列整數(shù)方陣,然后求兩條對角線上元素之和,返回此和數(shù)。和,返回此和數(shù)。#include#define M 5/*found*/int fun(int n,int xx)改為:改為:int fun(int n,int xxMM)int i,j,sum=0;printf(nThe%d x%d matrix:n,M,M);for(i=0;i M;i+)for(j=0;j M;j+)/*found*/printf(%f,xxij);改為:改為:

28、printf(%4d,xxij);printf(n);for(i=0;i n;i+)sum+=xxii+xxi n-i-1;return(sum);main()int aaMM=1,2,3,4,5,4,3,2,1,0,6,7,8,9,0,9,8,7,6,5,3,4,5,6,7;printf(nThe sum of all elements on 2 diagnals is%d.,fun(M,aa);20、給定程序中、給定程序中 fun 函數(shù)的功能是:求出函數(shù)的功能是:求出 s 所指字符串中最后一次出現(xiàn)的所指字符串中最后一次出現(xiàn)的 t 所指子字符串的所指子字符串的地址,通過函數(shù)值返回,在主函數(shù)中

29、從此地址開始的字符串;若未打到,則函數(shù)值為地址,通過函數(shù)值返回,在主函數(shù)中從此地址開始的字符串;若未打到,則函數(shù)值為NULL。例如:當字符串中的內(nèi)容為:例如:當字符串中的內(nèi)容為:“abcdabfabcdx”,t 中的內(nèi)容為中的內(nèi)容為“ab”時,輸出結果為:時,輸出結果為:abcdx。當字符串中的內(nèi)容為:。當字符串中的內(nèi)容為:“abcdabfabcdx”,t 中的內(nèi)容為中的內(nèi)容為“abd”時,則程時,則程序輸出未打到住處:序輸出未打到住處:not be found!#include#include char*fun(char *s,char*t)char *p,*r,*a;/*found*/a=

30、Null;改為:改為:a=NULL;while(*s)p=s;r=t;while(*r)/*found*/if(r=p)改為:改為:if(r*=*p)r+;p+;else break;if(*r=0)a=s;s+;return a;main()char s100,t100,*p;printf(nPlease enter string S:);scanf(%s,s);printf(nPlease enter substring t:);scanf(%s,t);p=fun(s,t);if(p)printf(nThe result is:%sn,p);else printf(nNot found!n

31、);21、給定程序中、給定程序中 fun 函數(shù)的功能是:統(tǒng)計一個無符號整數(shù)中各位數(shù)字值為零的個數(shù),通過形函數(shù)的功能是:統(tǒng)計一個無符號整數(shù)中各位數(shù)字值為零的個數(shù),通過形參傳回主函數(shù),并把該整數(shù)中各位上最大的數(shù)字值作為函數(shù)值返回。例如,若輸入無符參傳回主函數(shù),并把該整數(shù)中各位上最大的數(shù)字值作為函數(shù)值返回。例如,若輸入無符號整數(shù)號整數(shù) 30800,則數(shù)字值為零的個數(shù)為,則數(shù)字值為零的個數(shù)為 3,各位上數(shù)字值最大的是,各位上數(shù)字值最大的是 8。#include int fun(unsigned n,int *zero)int count=0,max=0,t;do t=n%10;/*found*/if(

32、t=0)改為:改為:if(t=0)count+;if(maxt)max=t;n=n/10;while(n);/*found*/zero=count;改為:改為:*zero=count;return max;main()unsigned n;int zero,max;printf(nInput n(unsigned):);scanf(%d,&n);max=fun(n,&zero);printf(nThe result:max=%d zero=%dn,max,zero);22、給定程序中、給定程序中 fun 函數(shù)的功能是:求整數(shù)函數(shù)的功能是:求整數(shù) x 的的 y 次方的低次方的低 3 位值。例如,

33、整數(shù)位值。例如,整數(shù) 5 的的 6 次方次方為為 15625,此值的低,此值的低 3 位值為位值為 625。#include long fun(int x,int y,long *p)int i;long t=1;/*found*/for(i=1;iy;i+)改為:改為:for(i=1;i=y;i+)t=t*x;*p=t;/*found*/t=t/1000;改為:改為:t=t%1000;return t;main()long t,r;int x,y;printf(nInput x and y:);scanf(%ld%ld,&x,&y);t=fun(x,y,&r);printf(nnx=%d,y

34、=%d,r=%ld,last=%ldnn,x,y,r,t);23、給定程序中、給定程序中 fun 函數(shù)的功能是:給一維數(shù)組函數(shù)的功能是:給一維數(shù)組 a 輸入任意輸入任意 4 個整數(shù),并按下列的規(guī)律輸出。個整數(shù),并按下列的規(guī)律輸出。例如輸入例如輸入 1,2,3,4,程序運行后輸出以下方陣。,程序運行后輸出以下方陣。4123341223411234#include#define M 4/*found*/void fun(int a)改為:改為:void fun(int aM)int i,j,k,m;printf(Enter 4 number:);for(i=0;i0;i-)k=aM-1;for(j

35、=M-1;j0;j-)/*found*/aaj=aj-1;改為:改為:aj=aj-1;a0=k;for(m=0;mM;m+)printf(%d ,am);printf(n);main()int aM;fun(a);printf(nn);24、在主函數(shù)中從鍵盤輸入若干個數(shù)放入數(shù)組中,用、在主函數(shù)中從鍵盤輸入若干個數(shù)放入數(shù)組中,用 0 結束輸入并放在最后一個元素中。給結束輸入并放在最后一個元素中。給定程序中定程序中 fun 函數(shù)的功能是:計算數(shù)組元素中值為正數(shù)的平均值(不包括函數(shù)的功能是:計算數(shù)組元素中值為正數(shù)的平均值(不包括 0)。例如,。例如,數(shù)組中元素中值依次為:數(shù)組中元素中值依次為:39,

36、-47,21,2,-8,15,0,則程序運行結果為,則程序運行結果為 19.250000。#include double fun(int x)/*found*/int sum=0.0;改為:改為:double sum=0.0;int c=0,i=0;while(xi!=0)if(xi 0)sum+=xi;c+;i+;/*found*/sum=c;改為:改為:sum/=c;return sum;main()int x1000;int i=0;printf(nPlease enter some data(end with 0):);do scanf(%d,&xi);while(xi+!=0);pr

37、intf(%fn,fun(x);25、給定程序中、給定程序中 fun 函數(shù)的功能是:根據(jù)整形形參函數(shù)的功能是:根據(jù)整形形參 m,計算如下公式的值:,計算如下公式的值:例如,若例如,若 m 中的值為中的值為 5,則應輸出,則應輸出 1.463611。#include double fun(int m)double y=1.0;int i;/*found*/for(i=2;i m;i+)改為:改為:for(i=2;i=m;i+)/*found*/y+=1/(i*i);改為:改為:y+=1.0/(i*i);return(y);main()int n=5;printf(nThe result is%l

38、fn,fun(n);26、給定程序中、給定程序中 fun 函數(shù)的功能是:將函數(shù)的功能是:將 p 所指字符串中每個單詞的最后一個字母改成大寫。所指字符串中每個單詞的最后一個字母改成大寫。(這里的(這里的“單詞單詞”是指由空格隔開的字符串)是指由空格隔開的字符串)。例如,若輸入。例如,若輸入“I am a student to take the examination.”,則應輸出,則應輸出“I aM A studenT tO takE thE examinatioN.”。#include#include void fun(char*p)int k=0;for(;*p;p+)if(k)/*foun

39、d*/if(p=)改為:改為:if(*p=)k =0;/*found*/*(p-1)=toupper(*(p-1)改為:改為:*(p-1)=toupper(*(p-1);else k=1;main()char chrstr64;int d;printf(nPlease enter an English sentence within 63 letters:);gets(chrstr);d=strlen(chrstr);chrstrd=;chrstrd+1=0;printf(nnBefore changing:n%s,chrstr);fun(chrstr);printf(nAfter chang

40、ing:n%s,chrstr);27、給定程序中、給定程序中 fun 函數(shù)的功能是:將函數(shù)的功能是:將 n 個無序整數(shù)從小到大排序。個無序整數(shù)從小到大排序。#include#include fun(int n,int *a)int i,j,p,t;for(j=0;jn-1;j+)p=j;/*found*/for(i=j+1;in-1;i+)改為:改為:for(i=j+1;iai)/*found*/t=i;改為:改為:p=i;if(p!=j)t=aj;aj=ap;ap=t;putarr(int n,int *z)int i;for(i=1;i=n;i+,z+)printf(%4d,*z);if(

41、!(i%10)printf(n);printf(n);main()int aa20=9,3,0,4,1,2,5,6,8,10,7,n=11;printf(nnBefore sorting%d numbers:n,n);putarr(n,aa);fun(n,aa);printf(nAfter sorting%d numbers:n,n);putarr(n,aa);28、給定程序中、給定程序中 fun 函數(shù)的功能是:將函數(shù)的功能是:將 s 所指字符串中的字母轉換為按字母序列的后續(xù)字母所指字符串中的字母轉換為按字母序列的后續(xù)字母(但(但 Z 轉換為轉換為 A,z 轉換為轉換為 a),其它字符不變。,

42、其它字符不變。#include#include void fun(char *s)/*found*/while(*s!=)改為:改為:while(*s!=0)if(*s=A&*s=a&*s=z)if(*s=Z)*s=A;else if(*s=z)*s=a;else *s+=1;/*found*/(*s)+;改為:改為:s+;main()char s80;printf(n Enter a string with length 80.:nn );gets(s);printf(n The string:nn );puts(s);fun(s);printf(nn The Cords:nn );puts

43、(s);29、給定程序中、給定程序中 fun 函數(shù)的功能是:在字符串的最前端加入函數(shù)的功能是:在字符串的最前端加入 n 個個*號,形成新串,并且覆蓋號,形成新串,并且覆蓋原串。原串。(注意:字符串的長度最長允許為(注意:字符串的長度最長允許為 79)。#include#include/*found*/void fun(char s,int n)改為:改為:void fun(char*s,int n)char a80,*p;int i;/*found*/s=p;改為:改為:p=s;for(i=0;in;i+)ai=*;do ai=*p;i+;/*found*/while(*p);改為:改為:wh

44、ile(*p+);ai=0;strcpy(s,a);main()int n;char s80;printf(nEnter a string :);gets(s);printf(nThe string%sn,s);printf(nEnter n(number of*):);scanf(%d,&n);fun(s,n);printf(nThe string after inster:%s n,s);30、給定程序中、給定程序中 fun 函數(shù)的功能是:實現(xiàn)兩個整數(shù)的交換。例如給函數(shù)的功能是:實現(xiàn)兩個整數(shù)的交換。例如給 a 和和 b 分別輸入分別輸入 60 和和65,輸出結果為,輸出結果為 a=65 b

45、=60。#include/*found*/void fun(int a,b)改為:改為:void fun(int *a,int *b)int t;/*found*/t=b;b=a;a=t;改為:改為:t=*b;*b=*a;*a=t;main()int a,b;printf(Enter a,b:);scanf(%d%d,&a,&b);fun(&a,&b);printf(a=%d b=%dn,a,b);31、給定程序中、給定程序中 fun 函數(shù)的功能是:首先把函數(shù)的功能是:首先把 b 所指字符串中的字符按逆序存放,然后將所指字符串中的字符按逆序存放,然后將 a 所所指字符串中的字符和指字符串中的字

46、符和 b 所指字符串中的字符,按排列的順序交叉合并到所指字符串中的字符,按排列的順序交叉合并到 c 所指數(shù)組中,所指數(shù)組中,過長的剩余字符接在過長的剩余字符接在 c 所指數(shù)組的尾部。例如,當所指數(shù)組的尾部。例如,當 a 所指字符串中的內(nèi)容為所指字符串中的內(nèi)容為“abcdefg”,b 所指字符串中的內(nèi)容為所指字符串中的內(nèi)容為“1234”時,時,c 所指數(shù)組中的內(nèi)容應該為所指數(shù)組中的內(nèi)容應該為“a4b3c2d1efg”;而;而當當 a 所指字符串中的內(nèi)容為所指字符串中的內(nèi)容為“1234”,b 所指字符串中的內(nèi)容為時所指字符串中的內(nèi)容為時“abcdefg”,c 所指數(shù)所指數(shù)組中的內(nèi)容應該為組中的內(nèi)容

47、應該為“1g2f3e4dcba”。#include#include void fun(char *a,char *b,char *c)int i,j;char ch;i=0;j=strlen(b)-1;/*found*/while(i j)改為:改為:while(i j)ch=bi;bi=bj;bj=ch;i+;j-;while(*a|*b)if(*a)*c=*a;c+;a+;if(*b)*c=*b;c+;b+;/*found*/c=0;改為:改為:*c=0main()char s1100,s2100,t200;printf(nEnter s1 string:);scanf(%s,s1);pr

48、intf(nEnter s2 string:);scanf(%s,s2);fun(s1,s2,t);printf(nThe result is:%sn,t);32、給定程序中、給定程序中 fun 函數(shù)的功能是:讀入一個字符串(長度函數(shù)的功能是:讀入一個字符串(長度20),將該字符串中的所有字符,將該字符串中的所有字符按按 ASCII 碼升序排序后輸出。例如:若輸入碼升序排序后輸出。例如:若輸入 edcba,則應輸出,則應輸出 abcde。#include void fun(char t)char c;int i,j;/*found*/for(i=strlen(t);i;i-)改為:改為:for

49、(i=strlen(t);i0;i-)for(j=0;j i;j+)/*found*/if(tj t j+1 )c=tj;tj=t j+1;tj+1 =c;main()char s81;printf(nPlease enter a character string:);gets(s);printf(nnBefore sorting:n%s,s);fun(s);printf(nAfter sorting decendingly:n%s,s);33、給定程序中、給定程序中 fun 函數(shù)的功能是:將一個八進制數(shù)字字符組成的字符串轉換為其面值相等函數(shù)的功能是:將一個八進制數(shù)字字符組成的字符串轉換為其面

50、值相等的十進制整數(shù)。規(guī)定輸入的字符串最多只能包含的十進制整數(shù)。規(guī)定輸入的字符串最多只能包含 5 位八進制數(shù)字字符。例如,若輸入位八進制數(shù)字字符。例如,若輸入77777,則輸出將是,則輸出將是 32767。#include int fun(char*p)int n;/*found*/n=*P-o;改為:改為:n=*p-0;p+;while(*p!=0)/*found*/n=n*7+*P-o;改為:改為:n=n*8+*p-0;p+;return n;main()char s6;int i;int n;printf(Enter a string(Ocatal digits):);gets(s);if

51、(strlen(s)5)printf(Error:String too longer!nn);exit(0);for(i=0;si;i+)if(si7)printf(Error:%c not is ocatal digits!nn,si);exit(0);printf(The original string:);puts(s);n=fun(s);printf(n%s is convered to integer number:%dnn,s,n);34、給定程序中、給定程序中 fun 函數(shù)的功能是:求出以下分數(shù)序列的前函數(shù)的功能是:求出以下分數(shù)序列的前 n 項之和。項之和。和的值通過函數(shù)值返回和

52、的值通過函數(shù)值返回 main 函數(shù)。函數(shù)。#include/*found*/fun(int n)改為:改為:double fun(int n)int a=2,b=1,c,k;double s=0.0;for(k=1;k=n;k+)s=s+1.0*a/b;/*found*/c=a;a+=b;b+=c;改為:改為:c=a;a+=b;b=c;return(s);main()int n=5;printf(nThe value of function is:%lfn,fun(n);35、給定程序中、給定程序中 fun 函數(shù)的功能是:從函數(shù)的功能是:從 s 所指字符串中,找出與所指字符串中,找出與 t 所

53、指字符串相同的子串的所指字符串相同的子串的個數(shù)作為函數(shù)值返回。例如,當個數(shù)作為函數(shù)值返回。例如,當 s 所指字符串中的內(nèi)容為所指字符串中的內(nèi)容為“abcdabfab”,t 所指字符串所指字符串的內(nèi)容為的內(nèi)容為“ab”,則函數(shù)返回整數(shù),則函數(shù)返回整數(shù) 3.#include#include int fun(char *s,char*t)int n;char *p,*r;n=0;while(*s)p=s;r=t;while(*r)/*found*/if(r=p)改為:改為:if(*r=*p)/*found*/r+;p+改為:改為:r+;p+;else break;/*found*/if(r=0)改為

54、:改為:if(*r=0)n+;s+;return n;main()char s100,t100;int m;printf(nPlease enter string S:);scanf(%s,s);printf(nPlease enter substring t:);scanf(%s,t);m=fun(s,t);printf(nThe result is:m=%dn,m);36、給定程序中、給定程序中 fun 函數(shù)的功能是:先將函數(shù)的功能是:先將 s 所指字符串中的字符按逆序存放到所指字符串中的字符按逆序存放到 t 所指字符串所指字符串中,然后把中,然后把 s 所指串中的字符按正序連接到所指串中

55、的字符按正序連接到 t 所指串的后面。例如,當所指串的后面。例如,當 s 所指的字符串為所指的字符串為“ABCDE”時,則時,則 t 所指的字符串應為所指的字符串應為“EDCBAABCDE”#include#include void fun(char *s,char *t)/*found*/int i;改為:改為:int i,s1;sl=strlen(s);for(i=0;isl;i+)/*found*/ti=ssl-i;改為:改為:ti=ssl-i-1;for(i=0;isl;i+)tsl+i=si;t2*sl=0;main()char s100,t100;printf(nPlease en

56、ter string s:);scanf(%s,s);fun(s,t);printf(The result is:%sn,t);37、給定程序中、給定程序中 fun 函數(shù)的功能是:依次取出字符串中所有數(shù)字字符,形成新的字符串,并函數(shù)的功能是:依次取出字符串中所有數(shù)字字符,形成新的字符串,并取代原字符串。取代原字符串。#include void fun(char *s)int i,j;for(i=0,j=0;si!=0;i+)if(si=0&si=9)/*found*/sj=si;改為:改為:sj+=si;/*found*/sj=0;改為:改為:sj=0;main()char item80;pr

57、intf(nEnter a string :);gets(item);printf(nnThe string is :%sn,item);fun(item);printf(nnThe string of changing is :%sn,item);38、給定程序中、給定程序中 fun 函數(shù)的功能是:統(tǒng)計字符串中各元音字母(即函數(shù)的功能是:統(tǒng)計字符串中各元音字母(即 A,E,I,O,U)的個數(shù)。注)的個數(shù)。注意,字母不分大小寫。例如輸入:意,字母不分大小寫。例如輸入:THIs is a boot,則輸出應該是:,則輸出應該是:1、0、2、2、0。#include/*found*/fun(cha

58、r *s,int num5)改為:改為:void fun(char*s,int num5)int k,i=5;for(k=0;k=0)numi+;main()char s181;int num15,i;printf(nPlease enter a string:);gets(s1);fun(s1,num1);for(i=0;i 5;i+)printf(%d,num1i);printf(n);39、給定程序中、給定程序中 fun 函數(shù)的功能是:計算正整數(shù)函數(shù)的功能是:計算正整數(shù) num 的各位上的數(shù)字之積。例如,若輸入的各位上的數(shù)字之積。例如,若輸入252,則輸出應該是,則輸出應該是 20。若輸

59、入。若輸入 202,則輸出應該是,則輸出應該是 0。#include long fun(long num)/*found*/long k;改為:改為:long k=1;do k*=num%10;/*found*/num=10;改為:改為:num/=10;while(num);return (k);main()long n;printf(Please enter a number:);scanf(%ld,&n);printf(n%ldn,fun(n);40、假定整數(shù)數(shù)列中的數(shù)不重復,并存放在數(shù)組中。給定程序中、假定整數(shù)數(shù)列中的數(shù)不重復,并存放在數(shù)組中。給定程序中 fun 函數(shù)的功能是:刪除數(shù)函數(shù)

60、的功能是:刪除數(shù)列中值為列中值為 x 的元素。的元素。n 中存放的是數(shù)列中元素的個數(shù)。中存放的是數(shù)列中元素的個數(shù)。#include#define N 20fun(int*a,int n,int x)int p=0,i;an=x;while(x!=ap)p=p+1;/*found*/if(P=n)return-1;改為:改為:if(p=n)return-1;else for(i=p;in;i+)/*found*/ai+1=ai;改為:改為:ai=a i+1;return n-1;main()int wN=-3,0,1,5,7,99,10,15,30,90,x,n,i;n=10;printf(Th

61、e original data:n);for(i=0;in;i+)printf(%5d,wi);printf(nInput x(to delete):);scanf(%d,&x);printf(Delete :%dn,x);n=fun(w,n,x);if(n=-1)printf(*Not be found!*nn);else printf(The data after deleted:n);for(i=0;in;i+)printf(%5d,wi);printf(nn);41、給定程序中、給定程序中 fun 函數(shù)的功能是:計算并輸出下列級數(shù)的前函數(shù)的功能是:計算并輸出下列級數(shù)的前 N 項之和項之

62、和直到直到大于大于 q為止,為止,q 的值通過形參傳入。的值通過形參傳入。例如,若例如,若 q 的值為的值為 50.0,則函數(shù)值為,則函數(shù)值為 49.394948。#include double fun(double q)int n;double s,t;n=2;s=2.0;while(s=q)t=s;/*found*/s=s+(n+1)/n;改為:改為:s=s+(double)(n+1)/n;n+;printf(n=%dn,n);/*found*/return s;改為:改為:return t;main()printf(%fn,fun(50);42、給定程序中、給定程序中 fun 函數(shù)的功能

63、是:根據(jù)輸入的三個邊長(整型值)函數(shù)的功能是:根據(jù)輸入的三個邊長(整型值),判斷能束構成三角形,判斷能束構成三角形,構成的是等邊三解形還是等腰三角形。若能構成等邊三角形函數(shù)返回構成的是等邊三解形還是等腰三角形。若能構成等邊三角形函數(shù)返回 3,若能構成等腰,若能構成等腰三角形函數(shù)返回三角形函數(shù)返回 2,若能構成一般三角形函數(shù)返回,若能構成一般三角形函數(shù)返回 1,若不能構成三角形函數(shù)返回,若不能構成三角形函數(shù)返回 0。#include#include/*found*/void fun(int a,int b,int c)改為:改為:int fun(int a,int b,int c)if(a+bc

64、&b+ca&a+cb)if(a=b&b=c)/*found*/return 1;改為:改為:return 3;else if(a=b|b=c|a=c)return 2;/*found*/else retrun 1改為:改為:else return 1;else return 0;main()int a,b,c,shape;printf(nInput a,b,c:);scanf(%d%d%d,&a,&b,&c);printf(na=%d,b=%d,c=%dn,a,b,c);shape=fun(a,b,c);printf(nnThe shape :%dn,shape);43、給定程序中、給定程序中

65、 fun 函數(shù)的功能是:計算函數(shù)的功能是:計算 n 的的 5 次方的值(規(guī)定次方的值(規(guī)定 n 的值大于的值大于 2 小于小于 8),通,通過形參指針傳回主函數(shù),并計算該值的個位、十位、百位上數(shù)字之和作為函數(shù)值返回。過形參指針傳回主函數(shù),并計算該值的個位、十位、百位上數(shù)字之和作為函數(shù)值返回。例如,例如,7 的的 5 次方是次方是 16807,其低,其低 3 位數(shù)的和值是位數(shù)的和值是 15。#include#include int fun(int n,int *value)int d,s,i;/*found*/d=0;s=0;改為:改為:d=1;s=0;for(i=1;i=5;i+)d=d*n;

66、*value=d;for(i=1;i=3;i+)s=s+d%10;/*found*/d=d10;改為:改為:d=d/10;return s;main()int n,sum,v;do printf(nEnter n(2n8):);scanf(%d,&n);while(n=8);sum=fun(n,&v);printf(nnThe result:n value=%d sum=%dnn,v,sum);44、給定程序中、給定程序中 fun 函數(shù)的功能是:判斷一個整數(shù)是否是素數(shù),若是返回函數(shù)的功能是:判斷一個整數(shù)是否是素數(shù),若是返回 1,否則返回,否則返回 0。在在 main()函數(shù)中,若函數(shù)中,若 fun 返回返回 1 輸出輸出 YES,若返回,若返回 0 則輸出則輸出 NO!。#include int fun(int m)int k=2;while(k=m&(m%k)/*found*/k+改為:改為:k+;/*found*/if(m=k)改為:改為:if(m=k)return 1;else return 0;main()int n;printf(nPlease enter n:);scanf

展開閱讀全文
溫馨提示:
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!