《C語言基礎(chǔ)》復(fù)習(xí)備考改錯題匯總
《《C語言基礎(chǔ)》復(fù)習(xí)備考改錯題匯總》由會員分享,可在線閱讀,更多相關(guān)《《C語言基礎(chǔ)》復(fù)習(xí)備考改錯題匯總(54頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、C 語言基礎(chǔ)復(fù)習(xí)備考改錯題匯總1、給定程序中、給定程序中 fun 函數(shù)的功能是:根據(jù)整型形參函數(shù)的功能是:根據(jù)整型形參 m 的值,計算如下公式的值:的值,計算如下公式的值:例如,若例如,若 m 中的值為中的值為 5,則應(yīng)輸出,則應(yīng)輸出 0.536389。請改正程序中的錯誤,使它能得出正確的結(jié)果。請改正程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動注意:不要改動 main 函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!#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 所指字符串的正序和反序進(jìn)行連接,形成一個新串所指字符串的正序和反序進(jìn)行連接,形成一個新串放在放在 t 所指的數(shù)組中。所指的數(shù)組中。例如,當(dāng)例如,當(dāng) s 所指字符串為所指字符串為“ABCD”時,則時,則 t 所指字符串的內(nèi)容應(yīng)為所指字符串的內(nèi)容應(yīng)為“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,則應(yīng)輸出則應(yīng)輸出 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,則以上表達(dá)式為:,則以上表達(dá)式為: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,則應(yīng)輸出,則應(yīng)輸出 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ù)應(yīng)為:,在平均值以上的實數(shù)個數(shù)應(yīng)為: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 所指字符串中的小寫字母都改為對應(yīng)的大寫字母,所指字符串中的小寫字母都改為對應(yīng)的大寫字母,其它字符不變。例如:若輸入其它字符不變。例如:若輸入“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 是建立一個帶頭結(jié)點的單向鏈表,并用隨機(jī)函數(shù)為各結(jié)點賦值。是建立一個帶頭結(jié)點的單向鏈表,并用隨機(jī)函數(shù)為各結(jié)點賦值。給定程序中給定程序中 fun 函數(shù)的功能是將單向鏈表結(jié)點(不包括頭結(jié)點)數(shù)據(jù)域為偶數(shù)的值累加函數(shù)的功能是將單向鏈表結(jié)點(不包括頭結(jié)點)數(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,則輸出結(jié)果應(yīng)當(dāng)是:,則輸出結(jié)果應(yīng)當(dāng)是: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 串的后面。例如:當(dāng)串的后面。例如:當(dāng) s 聽字符串為聽字符串為“ABCDE”時,則時,則 t 中的中的字符串應(yīng)為字符串應(yīng)為“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 的值。的值。例如,當(dāng)例如,當(dāng) k 為為 10 時,函數(shù)值應(yīng)為:時,函數(shù)值應(yīng)為: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ù)的功能是:將十進(jìn)制正整數(shù)函數(shù)的功能是:將十進(jìn)制正整數(shù) m 轉(zhuǎn)換成轉(zhuǎn)換成 k(2=k=9)進(jìn)制數(shù),并按高進(jìn)制數(shù),并按高位到低位順序輸出。位到低位順序輸出。例如,若輸入例如,若輸入 8 和和 2,則應(yīng)輸出,則應(yīng)輸出 1000(即十進(jìn)制數(shù)(即十進(jìn)制數(shù)
25、8 轉(zhuǎn)換成二進(jìn)制表示是轉(zhuǎn)換成二進(jìn)制表示是 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,則應(yīng)輸出,則應(yīng)輸出 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。例如:當(dāng)字符串中的內(nèi)容為:例如:當(dāng)字符串中的內(nèi)容為:“abcdabfabcdx”,t 中的內(nèi)容為中的內(nèi)容為“ab”時,輸出結(jié)果為:時,輸出結(jié)果為:abcdx。當(dāng)字符串中的內(nèi)容為:。當(dāng)字符串中的內(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 結(jié)束輸入并放在最后一個元素中。給結(jié)束輸入并放在最后一個元素中。給定程序中定程序中 fun 函數(shù)的功能是:計算數(shù)組元素中值為正數(shù)的平均值(不包括函數(shù)的功能是:計算數(shù)組元素中值為正數(shù)的平均值(不包括 0)。例如,。例如,數(shù)組中元素中值依次為:數(shù)組中元素中值依次為:39,
36、-47,21,2,-8,15,0,則程序運行結(jié)果為,則程序運行結(jié)果為 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,則應(yīng)輸出,則應(yīng)輸出 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.”,則應(yīng)輸出,則應(yīng)輸出“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 所指字符串中的字母轉(zhuǎn)換為按字母序列的后續(xù)字母所指字符串中的字母轉(zhuǎn)換為按字母序列的后續(xù)字母(但(但 Z 轉(zhuǎn)換為轉(zhuǎn)換為 A,z 轉(zhuǎn)換為轉(zhuǎn)換為 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,輸出結(jié)果為,輸出結(jié)果為 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ù)組的尾部。例如,當(dāng)所指數(shù)組的尾部。例如,當(dāng) a 所指字符串中的內(nèi)容為所指字符串中的內(nèi)容為“abcdefg”,b 所指字符串中的內(nèi)容為所指字符串中的內(nèi)容為“1234”時,時,c 所指數(shù)組中的內(nèi)容應(yīng)該為所指數(shù)組中的內(nèi)容應(yīng)該為“a4b3c2d1efg”;而;而當(dāng)當(dāng) a 所指字符串中的內(nèi)容為所指字符串中的內(nèi)容為“1234”,b 所指字符串中的內(nèi)容為時所指字符串中的內(nèi)容為時“abcdefg”,c 所指數(shù)所指數(shù)組中的內(nèi)容應(yīng)該為組中的內(nèi)容
47、應(yīng)該為“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,則應(yīng)輸出,則應(yīng)輸出 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ù)的功能是:將一個八進(jìn)制數(shù)字字符組成的字符串轉(zhuǎn)換為其面值相等函數(shù)的功能是:將一個八進(jìn)制數(shù)字字符組成的字符串轉(zhuǎn)換為其面
50、值相等的十進(jìn)制整數(shù)。規(guī)定輸入的字符串最多只能包含的十進(jìn)制整數(shù)。規(guī)定輸入的字符串最多只能包含 5 位八進(jìn)制數(shù)字字符。例如,若輸入位八進(jìn)制數(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ù)的功能是:求出以下分?jǐn)?shù)序列的前函數(shù)的功能是:求出以下分?jǐn)?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ù)值返回。例如,當(dāng)個數(shù)作為函數(shù)值返回。例如,當(dāng) 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 所指串的后面。例如,當(dāng)所指串的后面。例如,當(dāng) s 所指的字符串為所指的字符串為“ABCDE”時,則時,則 t 所指的字符串應(yīng)為所指的字符串應(yīng)為“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,則輸出應(yīng)該是:,則輸出應(yīng)該是: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,則輸出應(yīng)該是,則輸出應(yīng)該是 20。若輸
59、入。若輸入 202,則輸出應(yīng)該是,則輸出應(yīng)該是 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ù)不重復(fù),并存放在數(shù)組中。給定程序中、假定整數(shù)數(shù)列中的數(shù)不重復(fù),并存放在數(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ù)輸入的三個邊長(整型值),判斷能束構(gòu)成三角形,判斷能束構(gòu)成三角形,構(gòu)成的是等邊三解形還是等腰三角形。若能構(gòu)成等邊三角形函數(shù)返回構(gòu)成的是等邊三解形還是等腰三角形。若能構(gòu)成等邊三角形函數(shù)返回 3,若能構(gòu)成等腰,若能構(gòu)成等腰三角形函數(shù)返回三角形函數(shù)返回 2,若能構(gòu)成一般三角形函數(shù)返回,若能構(gòu)成一般三角形函數(shù)返回 1,若不能構(gòu)成三角形函數(shù)返回,若不能構(gòu)成三角形函數(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)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。