




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1、請(qǐng)編寫函數(shù)fun,函數(shù)的功能是: 移動(dòng)字符串中的內(nèi)容,移動(dòng)的規(guī)則如下: 把第1到第m個(gè)字符, 平移到字符串的最后, 把第m+1到最后的字符移到字符串的前部。 例如, 字符串中原有的內(nèi)容為: ABCDEFGHIJK, m的值為3, 則移動(dòng)后, 字符串中的內(nèi)容應(yīng)該是: DEFGHIJKABC。 char aN;int i;for(i=0;i<m;i+) ai=wi;while(wi) wi-m=wi; i+;i-;m-;for(;m>=0;m-,i-) wi=am; 2、編寫函數(shù)fun,它的功能是:計(jì)算并輸出下列級(jí)數(shù)和: 1 1 1 S = + + + 1×2 2
2、5;3 n(n+1) 例如,當(dāng)n = 10時(shí),函數(shù)值為:0.909091。int i;double s;for(i=1;i<=n;i+) s+=1.0/(i*(i+1);return s;3、假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,它的功能是:除了尾部的*號(hào)之外,將字符串中其它*號(hào)全部刪除。形參p已指向字符串中最后的一個(gè)字母。在編寫函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。 例如,字符串中的內(nèi)容為:*A*BC*DEF*G*,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是: ABCDEFG*。 char *q;while(a<p)if(*a='*') for(q=a;*q;
3、q+) *q=*(q+1); p-;else a+;4、函數(shù)fun的功能是: 將a、b中的兩個(gè)兩位正整數(shù)合并形成一個(gè)新的整數(shù)放在c中。合并的方式是:將a中的十位和個(gè)位數(shù)依次放在變量c的百位和個(gè)位上,b中的十位和個(gè)位數(shù)依次放在變量c的千位和十位上。 例如,當(dāng)a45,b=12。調(diào)用該函數(shù)后,c=1425。*c=a/10*100+a%10+b/10*1000+b%10*10;5、某學(xué)生的記錄由學(xué)號(hào)、8門課程成績(jī)和平均分組成,學(xué)號(hào)和8門課程的成績(jī)已在主函數(shù)中給出。請(qǐng)編寫函數(shù)fun,它的功能是:求出該學(xué)生的平均分放在記錄的ave成員中。 例如,學(xué)生的成績(jī)是:85.5,76,69.5,85,91,72,6
4、4.5,87.5,他的平均分應(yīng)當(dāng)是:78.875。 int i=0; double sum=0.0; for(;i<N;i+) sum+=a->si; a->ave=sum/N;6、請(qǐng)編寫一個(gè)函數(shù)void fun (char a,char b,int n),其功能是:刪除一個(gè)字符串中指定下標(biāo)的字符。其中, a指向原字符串, 刪除指定字符后的字符串存放在b所指的數(shù)組中,n中存放指定的下標(biāo)。 例如,輸入一個(gè)字符串: World,然后輸入3,則調(diào)用該函數(shù)后的結(jié)果為: Word。 int i=0,j=0; while(ai) if(i!=n) bj=ai; j+; i+; bj=
5、39;0'7、函數(shù)fun的功能是:將a、b中的兩個(gè)兩位正整數(shù)合并形成一個(gè)新的整數(shù)放在c中。合并的方式是:將a中的十位和個(gè)位數(shù)依次放在變量c的千位和十位上,b中的十位和個(gè)位數(shù)依次放在變量c的個(gè)位和百位上。 例如,當(dāng)a45,b=12。調(diào)用該函數(shù)后,c=4251。 *c=a/10*1000+a%10*10+b/10+b%10*100;8、函數(shù)fun的功能是:將a、b中的兩個(gè)兩位正整數(shù)合并形成一個(gè)新的整數(shù)放在c中。合并的方式是:將a中的十位和個(gè)位數(shù)依次放在變量c的十位和千位上,b中的十位和個(gè)位數(shù)依次放在變量c的個(gè)位和百位上。 例如,當(dāng)a45,b=12。調(diào)用該函數(shù)后,c=5241。char *p
6、,*q;p=p1;q=p2;while(*p) p+;while(*q) *p+=*q+;*p='0'9、請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:將大于形參m且緊靠m的k個(gè)素?cái)?shù)存入xx所指的數(shù)組中。例如,若輸入17, 5,則應(yīng)輸出:19, 23, 29, 31, 37。函數(shù)fun中給出的語(yǔ)句僅供參考。int i,j=m+1,n=0;while(n<k)for(i=2;i<j;i+)if(j%i=0) break;if(j=i)xxn=i;n+;j+;10、請(qǐng)編寫函數(shù)fun,它的功能是:求出能整除形參x且不是偶數(shù)的各整數(shù),并按從小到大的順序放在pp所指的數(shù)組中,這些除數(shù)的個(gè)數(shù)
7、通過形參n返回。 例如,若 x 中的值為: 35,則有 4 個(gè)數(shù)符合要求,它們是: 1, 5, 7, 35。int i;*n=0;for(i=1;i<=x;i+=2)if(x%i=0)pp*n=i;(*n)+;11、編寫一個(gè)函數(shù)fun,它的功能是:實(shí)現(xiàn)兩個(gè)字符串的連接(不使用庫(kù)函數(shù)strcat),即把p2所指的字符串連接到p1所指的字符串后。 例如,分別輸入下面兩個(gè)字符串: FirstString- SecondString 程序輸出: FirstString-SecondString*c=a/10*10+a%10*1000+b/10+b%10*100;12、規(guī)定輸入的字符串中只包含字母
8、和*號(hào)。請(qǐng)編寫函數(shù)fun,它的功能是:將字符串中的前導(dǎo)*號(hào)全部刪除,中間和尾部的*號(hào)不刪除。 例如,字符串中的內(nèi)容為:*A*BC*DEF*G*,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是:A*BC*DEF*G*。在編寫函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。int i=0,j=0;while(ai) if(ai!='*') j=i;break; i+; while(ai) ai-j=ai; i+;ai-j='0'13、請(qǐng)編寫函數(shù)fun,它的功能是:求出ss所指字符串中指定字符的個(gè)數(shù),并返回此值。 例如,若輸入字符串: 123412132,輸入字符為: 1,則輸出:3。int
9、n=0,i=0;while(ssi) if(ssi=c) n+; i+;return n;14、請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:求出一個(gè)2×M整型二維數(shù)組中最大元素的值,并將此值返回調(diào)用函數(shù)。int i,j,max=0;for(i=0;i<2;i+) for(j=0;j<M;j+) if(max<aij) max=aij; return max;15、請(qǐng)編寫函數(shù)fun, 函數(shù)的功能是: 將M行N列的二維數(shù)組中的數(shù)據(jù),按行的順序依次放到一維數(shù)組中, 一維數(shù)組中數(shù)據(jù)的個(gè)數(shù)存放在形參n所指的存儲(chǔ)單元中。 例如, 二維數(shù)組中的數(shù)據(jù)為: 33 33 33 33 44 44
10、44 44 55 55 55 55 則一維數(shù)組中的內(nèi)容應(yīng)是: 33 33 33 33 44 44 44 44 55 55 55 55。int i,j;*n=0;for(i=0;i<mm;i+)for(j=0;j<nn;j+)b*n=sij;(*n)+;16、編寫函數(shù)fun,它的功能是:求小于形參n同時(shí)能被3與7整除的所有自然數(shù)之和的平方根,并作為函數(shù)值返回。 例如若n為1000時(shí),程序輸出應(yīng)為:s = 153.909064。int i;double s=0;for(i=1;i<n;i+)if(i%3=0 && i%7=0) s+=i;return sqrt(s
11、);17、假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,它的功能是:刪除字符串中所有的*號(hào)。在編寫函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。 例如,字符串中的內(nèi)容為:*A*BC*DEF*G*,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是:ABCDEFG。char p81;int i=0,j=0;while(ai)if(ai!='*')aj+=ai;i+;aj=0;18、請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:根據(jù)以下公式求的值(要求滿足精度0.0005, 即某項(xiàng)小于0.0005時(shí)停止迭代): 1 1×2 1×2×3 1×2×3×4 1
12、×2××n = 1+ 2 3 3×5 3×5×7 3×5×7×9 3×5××(2n+1) 程序運(yùn)行后,如果輸入精度0.0005,則程序輸出為3.14。int i=0;double pi=0,a=1;while(a>=eps)pi+=a;i+;a=a*i/(2*i+1);return pi*2;19、請(qǐng)編寫一個(gè)函數(shù)fun, 其功能是: 將ss所指字符串中所有下標(biāo)為奇數(shù)位置上的字母轉(zhuǎn)換為大寫(若該位置上不是字母, 則不轉(zhuǎn)換)。 例如, 若輸入"abc4EFg&qu
13、ot;,則應(yīng)輸出"aBc4EFg"。int i=1;while(ssi-1 && ssi)if(ssi>='a' && ssi<='z') ssi+='A'-'a'i+=2;20、學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫函數(shù)fun,它的功能是:把分?jǐn)?shù)最高的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,注意:分?jǐn)?shù)最高的學(xué)生可能不止一個(gè),函數(shù)返回分?jǐn)?shù)最高的學(xué)生的人數(shù)。 int i,j=0,s=a0.s; for(i=1;i<N;i+) if(a
14、i.s>s) s=ai.s; for(i=0;i<N;i+) if(ai.s=s) bj=ai; j+; return j;21、請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:將一個(gè)數(shù)字字符串轉(zhuǎn)換為一個(gè)整數(shù)(不得調(diào)用C語(yǔ)言提供的將字符串轉(zhuǎn)換為整數(shù)的函數(shù))。例如,若輸入字符串"-1234",則函數(shù)把它轉(zhuǎn)換為整數(shù)值 -1234。函數(shù)fun中給出的語(yǔ)句僅供參考。long fun ( char *p)long i,s=0;if(p0='-')i=1;while(pi)s=s*10+pi-'0'i+;s*=-1;elsei=0;while(pi)s=s
15、*10+pi-'0'i+;return s;22、編寫函數(shù)fun,它的功能是計(jì)算下列級(jí)數(shù)和,和值由函數(shù)值返回。 例如,當(dāng)n = 10,x0.3時(shí),函數(shù)值為1.349859。double fun(double x , int n)int i;double a=1,b=1,s=1;for(i=1;i<=n;i+)a*=x;b*=i;s+=a/b;return s;23、請(qǐng)編寫函數(shù)fun,其功能是求出數(shù)組的最大元素在數(shù)組中的下標(biāo)并存放在k所指的存儲(chǔ)單元中。 例如, 輸入如下整數(shù): 876 675 896 101 301 401 980 431 451 777 則輸出結(jié)果為: 6
16、, 980int fun(int *s, int t, int *k)int i;*k=0;for(i=0;i<t;i+)if(si>s*k) *k=i;24、假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,它的功能是:使字符串中尾部的*號(hào)不得多于n個(gè);若多于n個(gè),則刪除多余的*號(hào);若少于或等于n個(gè),則什么也不做, 字符串中間和前面的*號(hào)不刪除。 例如,字符串中的內(nèi)容為:*A*BC*DEF*G*,若n的值為4,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是:*A*BC*DEF*G*;若n的值為7,則字符串中的內(nèi)容仍為:*A*BC*DEF*G*。n的值在主函數(shù)中輸入。在編寫函數(shù)時(shí),不得使用C語(yǔ)言
17、提供的字符串函數(shù)。void fun( char *a,int n )int i=0,j=0,c,k;while(ai)i+;c=i;while(ai-1='*')j+; i-;if(j>n)k=j-n;ac-k='0'25、編寫函數(shù)fun,它的功能是:求Fibonacci數(shù)列中大于t的最小的一個(gè)數(shù),結(jié)果由函數(shù)返回。其中Fibonacci數(shù)列F(n)的定義為: F(0)0,F(xiàn)(1)1 F(n)F(n1)F(n2) 例如:當(dāng)t = 1000時(shí),函數(shù)值為:1597。int fun( int t)int a=1,b=1,c=0,i;for(i=4;i<=t;
18、i+)if(c<t)c=a+b;a=b;b=c;elsebreak;return c;26、學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫函數(shù)fun,它的功能是:函數(shù)返回指定學(xué)號(hào)的學(xué)生數(shù)據(jù),指定的學(xué)號(hào)在主函數(shù)中輸入。若沒找到指定學(xué)號(hào),在結(jié)構(gòu)體變量中給學(xué)號(hào)置空串,給成績(jī)置-1,作為函數(shù)值返回。(用于字符串比較的函數(shù)是strcmp, strcmp(a, b)當(dāng)a和b字符串相等時(shí)返回值為0)。STREC fun( STREC *a, char *b ) STREC res; int i; for(i=0;i<N;i+) if(strcmp(ai.num,
19、b)=0) res=ai;return res; strcpy(res.num,""); res.s=-1; return res;27、請(qǐng)編寫函數(shù)fun, 函數(shù)的功能是: 判斷字符串是否為回文?若是, 函數(shù)返回1,主函數(shù)中輸出: YES, 否則返回0, 主函數(shù)中輸出NO?;匚氖侵疙樧x和倒讀都一樣的字符串。 例如, 字符串LEVEL是回文, 而字符串123312就不是回文。int fun(char *str)int i,j=0;while(strj) j+;for(i=0;i<=j/2;i+)if(stri!=strj-i-1) break;if(i>=j/2)
20、 return 1;else return 0;28、請(qǐng)編寫函數(shù)fun,其功能是:統(tǒng)計(jì)s所指字符串中的數(shù)字字符個(gè)數(shù),并作為函數(shù)值返回。 例如,s所指字符串中的內(nèi)容是:2def35adh25 3kjsdf 7/kj8655x, 函數(shù)fun返回值為:11int fun(char *s)int nCnt = 0, i;for(i = 0; si; i+) if('0'<=si && si <= '9') +nCnt;return nCnt;29、編寫函數(shù)fun,函數(shù)的功能是:根據(jù)以下公式計(jì)算s,計(jì)算結(jié)果作為函數(shù)值返回;n通過形參傳入。 1
21、1 1 S=1 + + + . + 1+2 1+2+3 1+2+3+.+n 例如:若n的值為11時(shí),函數(shù)的值為:1.833333double func(int n)int i, j;float sum, resu;resu = 0;for (i = 1; i <= n; i+)sum = 0;for (j = 1; j <= i; j+) sum = sum + j;resu = resu + 1 / sum;return resu;30、請(qǐng)編寫函數(shù)fun,其功能是將形參s所指的字符串放入形參a所指的字符數(shù)組中,使a中存放同樣的字符串。說明:不得使用系統(tǒng)提供的字符串函數(shù)。void
22、fun( char *a , char *s) int i; for(i = 0; si; i+) ai = si; ai = '0'31、假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,它的功能是: 除了字符串前導(dǎo)和尾部的*號(hào)之外,將串中其它*號(hào)全部刪除。形參h已指向字符串中第一個(gè)字母,形參p已指向字符串中最后一個(gè)字母。在編寫函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。 例如,字符串中的內(nèi)容為:*A*BC*DEF*G*,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是:*ABCDEFG*。在編寫函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。.void fun( char *a, char *h,ch
23、ar *p ) int i=0; for(;ai='*'i+) ai='*' while(h<p) if(*h!='*') ai=*h; i+; h+; while(*h) ai=*h; i+; h+; ai='0' 32、請(qǐng)編寫函數(shù)fun, 函數(shù)的功能是: 將M行N列的二維數(shù)組中的字符數(shù)據(jù), 按列的順序依次放到一個(gè)字符串中。 例如, 二維數(shù)組中的數(shù)據(jù)為: W W W W S S S S H H H H 則字符串中的內(nèi)容應(yīng)是: WSHWSHWSHWSH。void fun(char (*s)N, char *b)int i,j
24、,k=0;for(i=0;i<N;i+)for(j=0;j<M;j+)bk=sji;k+;33、編寫函數(shù)fun,其功能是:根據(jù)以下公式求P的值,結(jié)果由函數(shù)值帶回。m與n為兩個(gè)正整數(shù)且要求m > n。 m! P = n!(m-n)! 例如:m12,n8時(shí),運(yùn)行結(jié)果為495.000000。float fun(int m, int n) int i;float m1=1.0,n1=1.0,k=1.0;for(i=1;i<=m;i+) m1*=i;for(i=1;i<=n;i+) n1*=i;for(i=1;i<=m-n;i+) k*=i;return m1/n1/
25、k;34、函數(shù)fun的功能是:將s所指字符串中ASCII值為奇數(shù)的字符刪除,串中剩余字符形成一個(gè)新串放在t所指的數(shù)組中。 例如,若s所指字符串中的內(nèi)容為:"ABCDEFG12345",其中字符A的ASCII碼值為奇數(shù)、字符1的ASCII碼值也為奇數(shù)、 都應(yīng)當(dāng)刪除,其它依此類推。最后t所指的數(shù)組中的內(nèi)容應(yīng)是:"BDF24"。void fun(char *s, char t)int i=0,j=0,m;while(m=si)if(m%2=0) tj=si; j+; i+;tj='0'35、編寫函數(shù)fun,它的功能是計(jì)算: s作為函數(shù)值返回。
26、在C語(yǔ)言中可調(diào)用log ( n )函數(shù)求ln (n)。log函數(shù)的引用說明是:double log(double x)。 例如,若m的值為: 20,fun函數(shù)值為: 6.506583。double fun( int m )int i=1;double sum=0.0;for(;i<=20;i+)sum = sum + log(i);sum=sqrt(sum);return sum;36、編寫函數(shù)fun,它的功能是:利用以下所示的簡(jiǎn)單迭代方法求方程:cos(x)-x=0 的一個(gè)實(shí)根。 迭代步驟如下:(1)取 x1 初值為0.0;(2)x0 = x1,把x1的值賦給 x0;(3)x1 = c
27、os(x0),求出一個(gè)新的x1;(4)若x0 - x1的絕對(duì)值小于 0.000001,執(zhí)行步驟(5),否則執(zhí) 行步驟(2);(5)所求x1就是方程 cos(x)-x=0 的一個(gè)實(shí)根,作為函數(shù)值返回。 程序?qū)⑤敵鼋Y(jié)果Root=0.739086。double fun()float x0,x1=0.0;while(1)x0=x1;x1=cos(x0);if(fabs(x0-x1)<1e-6) break;return x1;37、請(qǐng)編寫一個(gè)函數(shù) void fun(char *tt, int pp),統(tǒng)計(jì)在tt所指字符串中'a' 到 'z' 26個(gè)小寫字母各自出現(xiàn)
28、的次數(shù),并依次放在pp所指數(shù)組中。 例如,當(dāng)輸入字符串:abcdefgabcdeabc 后,程序的輸出結(jié)果應(yīng)該是: 3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0void fun(char *tt, int pp)int i; for(i=0;i<26;i+)ppi=0; i=0;while(tti)pptti-97+; i+;38、請(qǐng)編寫函數(shù)fun,其功能是: 將所有大于1小于整數(shù)m的非素?cái)?shù)存入xx所指數(shù)組中, 非素?cái)?shù)的個(gè)數(shù)通過k傳回。 例如,若輸入:17,則應(yīng)輸出:4 6 8 9 10 12 14 15 16。.void fun
29、( int m, int *k, int xx )int i,j,c=0; for(i=2;i<=m;i+) for(j=2;j<i;j+) if(i%j=0) xxc=i; c+; break; *k=c;39、N名學(xué)生的成績(jī)已在主函數(shù)中放入一個(gè)帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點(diǎn)。請(qǐng)編寫函數(shù)fun,它的功能是:求出平均分,由函數(shù)值返回。 例如,若學(xué)生的成績(jī)是:85,76,69,85,91,72,64,87, 則平均分應(yīng)當(dāng)是:78.625。double fun( STREC *h )float ave,sum=0.0;STREC *p;p=h->next;while(p
30、) sum+=p->s;p=p->next; ave=sum/N;return ave;40、學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫函數(shù)fun,它的功能是:按分?jǐn)?shù)的高低排列學(xué)生的記錄,高分在前。void fun(int a, int b, long *c)*c=a/10*100+a%10+b/10*10+b%10*1000;41、學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫函數(shù)fun,它的功能是:把低于平均分的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,低于平均分的學(xué)生人數(shù)通過形參n傳回,平均分通過函數(shù)值返回。doubl
31、e fun( STREC *a, STREC *b, int *n ) int i,j; double ave,sum=0.0; *n=0; for(i=0;i<N;i+) sum+=ai.s; ave=sum/N; for(i=0,j=0;i<N;) if(ai.s<=ave) bj=ai; j+; (*n)+; i+; return ave;42、請(qǐng)編寫函數(shù)fun, 函數(shù)的功能是: 移動(dòng)一維數(shù)組中的內(nèi)容; 若數(shù)組中有n個(gè)整數(shù), 要求把下標(biāo)從0到p(含p,p小于等于n-1)的數(shù)組元素平移到數(shù)組的最后。 例如, 一維數(shù)組中的原始內(nèi)容為: 1,2,3,4,5,6,7,8,9,1
32、0; p的值為3。移動(dòng)后, 一維數(shù)組中的內(nèi)容應(yīng)為: 5,6,7,8,9,10,1,2,3,4。void fun(int *w, int p, int n)int i,aN;for(i=0;i<=p;i+) ai=wi;for(i=0;i<n-(p+1);i+) wi=wi+(p+1);for(i=0;i<=p;i+) wn-(p+1)+i=ai;43、請(qǐng)編寫函數(shù)fun, 函數(shù)的功能是: 將放在字符串?dāng)?shù)組中的M個(gè)字符串(每串的長(zhǎng)度不超過N), 按順序合并組成一個(gè)新的字符串。函數(shù)fun中給出的語(yǔ)句僅供參考。 例如, 字符串?dāng)?shù)組中的M個(gè)字符串為 AAAA BBBBBBB CC 則合
33、并后的字符串的內(nèi)容應(yīng)是: AAAABBBBBBBCC。 提示:strcat(a,b)的功能是將字符串b復(fù)制到字符串a(chǎn)的串尾上,成為一個(gè)新串。void fun(char aMN, char *b)int i,k=0;char *p;for(i=0;i<M;i+) p=ai;while(*p) bk+=*p+;bk='0'44、請(qǐng)編寫函數(shù)fun,它的功能是: 求出 1 到 1000 之間能被 7 或11整除、但不能同時(shí)被 7 和 11 整除的所有整數(shù)并將它們放在a所指的數(shù)組中,通過 n 返回這些數(shù)的個(gè)數(shù)。void fun (int *a, int *n)int i=0,j=0
34、;*n=0;for(;i<=1000;i+) if(i%7=0|i%11=0) if(i%7=0&&i%11=0)continue; (*n)+; aj+=i;return *n;45、m個(gè)人的成績(jī)存放在score數(shù)組中,請(qǐng)編寫函數(shù)fun,它的功能是:將低于平均分的人數(shù)作為函數(shù)值返回,將低于平均分的分?jǐn)?shù)放在below所指的數(shù)組中。 例如,當(dāng)score數(shù)組中的數(shù)據(jù)為:10、20、30、40、50、60、70、80、90時(shí),函數(shù)返回的人數(shù)應(yīng)該是4, below中的數(shù)據(jù)應(yīng)為: 10、20、30、40。int fun(int score, int m, int below)int
35、 i,j=0,s=0;for(i=0;i<m;i+) s+=scorei;s/=m;for(i=0;i<m;i+)if(scorei<s)belowj=scorei;j+;return j;46、請(qǐng)編寫函數(shù)fun, 函數(shù)的功能是:實(shí)現(xiàn)B=A+A', 即把矩陣A加上A的轉(zhuǎn)置, 存放在矩陣B中。計(jì)算結(jié)果在 main 函數(shù)中輸出。例如,輸入下面的矩陣: 其轉(zhuǎn)置矩陣為: 1 2 3 1 4 7 4 5 6 2 5 8 7 8 9 3 6 9 程序輸出: 2 6 10 6 10 14 10 14 18void fun ( int a33, int b33)int i,j;for
36、(i=0;i<3;i+)for(j=0;j<3;j+)bij=0;for(i=0;i<3;i+)for(j=0;j<3;j+) bij=aij+aji;47、請(qǐng)編寫函數(shù)fun,函數(shù)的功能是查找x在s所指數(shù)組中下標(biāo)的位置作為函數(shù)值返回,若x不存在,則返回-1。int fun( int *s, int x)int i;for(i = 0; i < N; i+) if(si = x) return i;if(i = N) return -1;48、函數(shù)fun的功能是: 將s所指字符串中除了下標(biāo)為奇數(shù)、同時(shí)ASCII值也為奇數(shù)的字符之外,其余的所有字符都刪除,串中剩余字符
37、所形成的一個(gè)新串放在t所指的數(shù)組中。 例如,若s所指字符串中的內(nèi)容為:"ABCDEFG12345",其中字符A的ASCII碼值雖為奇數(shù),但所在元素的下標(biāo)為偶數(shù),因此必需刪除;而字符1的ASCII碼值為奇數(shù),所在數(shù)組中的下標(biāo)也為奇數(shù),因此不應(yīng)當(dāng)刪除,其它依此類推。最后t所指的數(shù)組中的內(nèi)容應(yīng)是:"135"。void fun(char *s, char t)int i=0,j=0;while(si)if(i%2=1 && si%2=1)tj=si;j+;tj=0;49、請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:找出一維整型數(shù)組元素中最大的值和它所在的下
38、標(biāo), 最大的值和它所在的下標(biāo)通過形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。 主函數(shù)中x是數(shù)組名, n是x中的數(shù)據(jù)個(gè)數(shù),max存放最大值,index存放最大值所在元素的下標(biāo)。void fun(int a, int n , int *max, int *d )int i;*d=0;for(i=1;i<n;i+)if(ai>a*d) *d=i;*max=a*d;50、請(qǐng)編寫函數(shù)fun, 函數(shù)的功能是: 將M行N列的二維數(shù)組中的數(shù)據(jù), 按列的順序依次放到一維數(shù)組中。函數(shù)fun中給出的語(yǔ)句僅供參考。 例如, 二維數(shù)組中的數(shù)據(jù)為: 33 33 33 33 44 44 44 44 55 55 5
39、5 55 則一維數(shù)組中的內(nèi)容應(yīng)是: 33 44 55 33 44 55 33 44 55 33 44 55。void fun(int (*s)10, int *b, int *n, int mm, int nn)int i,j,k=0;for(j=0;j<nn;j+)for(i=0;i<mm;i+)bk+=sij;*n=k;【程序90】題目:專升本一題,讀結(jié)果。1.程序分析:2.程序源代碼:#include "stdio.h"#define M 5main()int aM=1,2,3,4,5;int i,j,t;i=0;j=M-1;while(i t=*(a+i
40、);*(a+i)=*(a+j);*(a+j)=t;i+;j-;for(i=0;i printf("%d",*(a+i);【程序1】題目:有1、2、3、4個(gè)數(shù)字,能組成多少個(gè)互不相同且無(wú)重復(fù)數(shù)字的三位數(shù)?都是多少?1.程序分析:可填在百位、十位、個(gè)位的數(shù)字都是1、2、3、4。組成所有的排列后再去掉不滿足條件的排列。 2.程序源代碼:main()int i,j,k;printf("n");for(i=1;i<5;i+)*以下為三重循環(huán)*/for(j=1;j<5;j+)for (k=1;k<5;k+)if (i!=k&&i!=
41、j&&j!=k) /*確保i、j、k三位互不相同*/printf("%d,%d,%dn",i,j,k);=【程序2】題目:企業(yè)發(fā)放的獎(jiǎng)金根據(jù)利潤(rùn)提成。利潤(rùn)(I)低于或等于10萬(wàn)元時(shí),獎(jiǎng)金可提10%;利潤(rùn)高于10萬(wàn)元,低于20萬(wàn)元時(shí),低于10萬(wàn)元的部分按10%提成,高于10萬(wàn)元的部分,可可提成7.5%;20萬(wàn)到40萬(wàn)之間時(shí),高于20萬(wàn)元的部分,可提成5%;40萬(wàn)到60萬(wàn)之間時(shí)高于40萬(wàn)元的部分,可提成3%;60萬(wàn)到100萬(wàn)之間時(shí),高于60萬(wàn)元的部分,可提成1.5%,高于100萬(wàn)元時(shí),超過100萬(wàn)元的部分按1%提成,從鍵盤輸入當(dāng)月利潤(rùn)I,求應(yīng)發(fā)放獎(jiǎng)金總數(shù)?1.程
42、序分析:請(qǐng)利用數(shù)軸來(lái)分界,定位。注意定義時(shí)需把獎(jiǎng)金定義成長(zhǎng)整型。2.程序源代碼:main()long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=2000
43、00)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus); =【程序3】題目:一個(gè)整數(shù),它加上100后是一個(gè)完全平方數(shù),再加上168又是一個(gè)完全平方
44、數(shù),請(qǐng)問該數(shù)是多少?1.程序分析:在10萬(wàn)以內(nèi)判斷,先將該數(shù)加上100后再開方,再將該數(shù)加上268后再開方,如果開方后的結(jié)果滿足如下條件,即是結(jié)果。請(qǐng)看具體分析:2.程序源代碼:#include "math.h"main()long int i,x,y,z;for (i=1;i<100000;i+) x=sqrt(i+100); /*x為加上100后開方后的結(jié)果*/y=sqrt(i+268); /*y為再加上168后開方后的結(jié)果*/if(x*x=i+100&&y*y=i+268)/*如果一個(gè)數(shù)的平方根的平方等于該數(shù),這說明此數(shù)是完全平方數(shù)*/print
45、f("n%ldn",i);=【程序4】題目:輸入某年某月某日,判斷這一天是這一年的第幾天?1.程序分析:以3月5日為例,應(yīng)該先把前兩個(gè)月的加起來(lái),然后再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大于3時(shí)需考慮多加一天。2.程序源代碼:main()int day,month,year,sum,leap;printf("nplease input year,month,dayn");scanf("%d,%d,%d",&year,&month,&day);switch(month)/*先計(jì)算某月以前月份的總天數(shù)
46、*/case 1:sum=0;break;case 2:sum=31;break;case 3:sum=59;break;case 4:sum=90;break;case 5:sum=120;break;case 6:sum=151;break;case 7:sum=181;break;case 8:sum=212;break;case 9:sum=243;break;case 10:sum=273;break;case 11:sum=304;break;case 12:sum=334;break;default:printf("data error");break;sum
47、=sum+day; /*再加上某天的天數(shù)*/if(year%400=0|(year%4=0&&year%100!=0)/*判斷是不是閏年*/leap=1;elseleap=0;if(leap=1&&month>2)/*如果是閏年且月份大于2,總天數(shù)應(yīng)該加一天*/sum+;printf("It is the %dth day.",sum);=【程序5】題目:輸入三個(gè)整數(shù)x,y,z,請(qǐng)把這三個(gè)數(shù)由小到大輸出。1.程序分析:我們想辦法把最小的數(shù)放到x上,先將x與y進(jìn)行比較,如果x>y則將x與y的值進(jìn)行交換,然后再用x與z進(jìn)行比較,如果x
48、>z則將x與z的值進(jìn)行交換,這樣能使x最小。2.程序源代碼:main()int x,y,z,t;scanf("%d%d%d",&x,&y,&z);if (x>y)t=x;x=y;y=t; /*交換x,y的值*/if(x>z)t=z;z=x;x=t;/*交換x,z的值*/if(y>z)t=y;y=z;z=t;/*交換z,y的值*/printf("small to big: %d %d %dn",x,y,z);=【程序6】題目:用*號(hào)輸出字母C的圖案。1.程序分析:可先用'*'號(hào)在紙上寫出字母C,再分行輸出。2.程序源代碼:#include "stdio.h"main()printf("Hello C-world!n");printf(" *n");printf(" *n");printf(" * n");printf(" *n");=【程序7】題目:輸出特殊圖案,請(qǐng)?jiān)赾環(huán)境中運(yùn)行,看一看,Very Beaut
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育機(jī)構(gòu)二零二五年度兼職教師聘用含知識(shí)產(chǎn)權(quán)保護(hù)合同
- 二零二五年度智慧城市項(xiàng)目經(jīng)理職位聘用合同
- 語(yǔ)文文學(xué)鑒賞能力考核題
- 新能源汽車充電樁網(wǎng)絡(luò)規(guī)劃方案書
- 新興消費(fèi)市場(chǎng)消費(fèi)者行為分析與營(yíng)銷策略研究
- 企業(yè)績(jī)效評(píng)估咨詢服務(wù)協(xié)議
- 農(nóng)村資源環(huán)境保護(hù)及修復(fù)協(xié)議書
- 農(nóng)業(yè)市場(chǎng)推廣策略實(shí)戰(zhàn)案例分析
- 社區(qū)團(tuán)購(gòu)電商平臺(tái)合作合同
- 農(nóng)業(yè)合作組織規(guī)范化管理手冊(cè)
- 裝飾裝修工程安全管理培訓(xùn)學(xué)習(xí)
- 非煤露天礦山風(fēng)險(xiǎn)辨識(shí)與評(píng)估及風(fēng)險(xiǎn)控制
- 2022版義務(wù)教育(物理)課程標(biāo)準(zhǔn)(附課標(biāo)解讀)
- AIB(2022版)統(tǒng)一檢查標(biāo)準(zhǔn)-前提方案與食品安全程序
- 網(wǎng)絡(luò)安全技術(shù)服務(wù)方案
- 地鐵站務(wù)員職業(yè)發(fā)展規(guī)劃
- 統(tǒng)編版小學(xué)語(yǔ)文一年級(jí)下冊(cè)全冊(cè)教學(xué)課件(2024年春季版)
- 醫(yī)療器械經(jīng)營(yíng)質(zhì)量管理制度范本
- 中等職業(yè)學(xué)校英語(yǔ)教學(xué)大綱詞匯表本表共收詞2200個(gè)左右含
- 《國(guó)家衛(wèi)生統(tǒng)計(jì)網(wǎng)絡(luò)直報(bào)系統(tǒng)》數(shù)據(jù)填報(bào)員操作指南V1.2
- 危險(xiǎn)性較大分部分項(xiàng)工程安全專項(xiàng)施工方案專家論證審查表
評(píng)論
0/150
提交評(píng)論