程序設計及算法語言上機試題abc_第1頁
程序設計及算法語言上機試題abc_第2頁
程序設計及算法語言上機試題abc_第3頁
程序設計及算法語言上機試題abc_第4頁
程序設計及算法語言上機試題abc_第5頁
已閱讀5頁,還剩38頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、-. z. 1、10個人的成績存放在score數組中,編寫函數fun,求出平均分,并作為函數值返回,且輸出不及格人數。 #includefloat fun (int a10)int i,aver,sum=0;for(i=0;i10;i+)sum=sum+ai;aver=sum/10;return aver;void main()int i,j=0,a10=10,20,30,40,50,60,70,80,90,100;float aver; for(i=0;i10;i+) if(ai60) j+;aver=fun (a);printf(10個人的成績平均分為:%5.2fn,aver);print

2、f(n);printf(不及格人數:%dn,j);求出1到100之內能被7或者11整除,但不能同時被7和11整除的所有整數,并將他們放在指定的數組a中。 #include void main() int i,n,a500; n = fun(a); for(i = 0; i n; i+) printf(%8d,ai); int fun (int a) int i = 7, j = 0; for(; i = 100; i+) if (i % 7 = 0 | i % 11 = 0)&( !(i % 7= 0 & i % 11 = 0) ) ) aj+ = i; return j ;3、求方程的解。

3、#include#includevoid main()float a,b,c,d,*1,*2,m,n;printf(請輸入方程的3個系數,a,b,c:);scanf(%f,%f,%f,&a,&b,&c);printf(該方程n);if(fabs(a)=1e-6)if(fabs(b)=1e-6) if(fabs(c)=1e-6)printf(有無窮多個解n); else printf(無解n); elseprintf(有一個根:%8.4fn,-c/b);elsed=b*b-4*a*c; if(fabs(d)1e-6) *1=(-b+sqrt(d)/(2*a); *2=(-b-sqrt(d)/(2

4、*a); printf(有兩個不等的實根:%8.4f和%8.4fn,*1,*2); else m=-b/(2*a); n=sqrt(-d)/(2*a); printf(有兩個復根:n); printf(%8.4f+%8.4fin,m,n); printf(%8.4f-%8.4fin,m,n); 4、給出一個百分制成績,要求輸出成績等級A、B、C、D、E,90分以上為A,8089分為B,7079分為C,6069分為D,60分以下為E。要求:當輸入分數為負值,或大于100時,通知用戶“輸入數據錯誤,重新輸入。 #includevoid main()float *;char y; printf(輸入

5、學生成績:*=); scanf(%f,&*); while(*100|*=90)y=A;else if(*=80) y=B; else if(*=70) y=C; else if(*=60) y=D; else y=E; printf(n學生的等級為:y=%cn,y);求數組中最大元素在數組中的下標并存放在指針k所指的儲存單元中。 # include void fun(int *s, int t , int *k) int i ,ma*; ma*=s0; for (i=0;ima*) ma*=si; *k=i; void main( ) int a10=876,675,896,101,301,

6、401,980,431,451,777, k ; fun(a,10, &k); printf(最大值在a中的位置為:i=%dn最大值為:%dn, k, ak); 6、編寫函數fun,功能是:根據以下攻勢計算s,計算結果作為函數值返回;n通過形參傳入。S=1+1/(1+2)+1/(1+2+3)+1/(1+2+3+4+n)。#include float fun(int n)int i;float s=1.0,t=1.0;for(i=2;i=n;i+)t=t+i;s=s+1/t;return s;void main()float y;int n;printf(輸入n的值:n);scanf(%d,&n

7、);y=fun(n);printf(y=%fn,y);7、定義了77的二維數組,并在主函數中自動賦值。編寫函數 fun(int a7),該函數的功能是:使數組左下半三角元素中的值全部置成0。 #include int fun(int a7) int i,j; for(i=0;i7;i+) for(j=0;jj) aij=0; void main() int a77,i,j; for(i=0;i7;i+) for(j=0;j7;j+) aij=i+j+1; printf(%3d,aij); printf(n); fun(a); printf(輸出處理后的數組a:n); for(i=0;i7;i+

8、) for(j=0;j7;j+) printf(%3d,aij); printf(n); 編寫一個函數void fun(int tt56,int pp6),tt指向一個5行6列的二維函數組,求出二維函數組每列中最小元素,并依次放入pp所指定一維數組中。二維數組中的數已在主函數中初始化。 #include void fun(int tt56,int pp6) int i,j,min; for(j = 0;j 6;j+) min = tt0j; for(i= 0;i 5;i+) if(ttij min) min = ttij; ppj = min; void main() int t56=68,5

9、6,32,44,54,12,14,56,24,47,88,58,42,85,22,75,44,56,45,12,3,5,78,45,45,65,25,75,85,41; int p6,i,j,k; printf(The riginal data is:n); for(i = 0;i 5;i+) for(j = 0;j 6;j+) printf(%6d,tij); printf(n); fun(t,p); printf(n二維函數組每列中最小元素為:n); for(k = 0;k 6;k+) printf(%4d,pk); printf(n);9、求出4行5列的二維數組周邊元素之和。#inclu

10、de void main() int a45,i,j,sum=0,sum1=0,sum2=0; printf(請輸入4*5矩陣數據:); for(i=0;i4;i+) for(j=0;j5;j+) scanf(%d,&aij); for(i=0;i4;i+) sum1=sum1+ai0+ai4; for(j=0;j5;j+) sum2=sum2+a0j+a3j; sum=sum1+sum2-a00-a04-a30-a34; printf(矩陣周邊元素之和為:%dn,sum); 編寫程序,把字符串中的內容逆置不準使用多個字符數組。 #include void main() char a80; c

11、har t; int i,n; printf(輸入一行字符串:n); gets(a); n=strlen(a); for(i=0;i=n/2;i+) t=ai; ai=an-i-1; an-i-1=t; printf(字符串中的內容逆置為:n); puts(a); 編寫程序,從字符串中刪除指定的字符,同一字母的大、小寫按不同字符處理。并把刪除好的字符以字符串的形式輸出不準使用多個字符數組。 #include #include void main() char ch,str100; int i,j=0; printf(輸入字符串:n); gets(str); 無上限讀取字符 printf(輸入要

12、刪除的字符:);ch=getchar(); for(i=0;istrlen(str);i+) if(stri!=ch)strj+=stri; strj=0; printf(n字符串str為:%sn,str); #include#includevoid main()char a80;char ch;int i,j;int n;printf(輸入一串字符字符:n);gets(a);printf(輸入要刪除的字符:);ch=getchar();i=0;while(ai!=0)while(ai!=0&ai!=ch)i+;n=strlen(a);for(j=i;jn-1;j+)aj=aj+1;aj=0;

13、 printf(刪除后的字符串:); puts(a);編寫程序,對長度為7個字符的字符串,除首尾字符外,將其余5個字符按ascii碼降序排列。 #include void main() char c8; char i,j,temp; printf(長度為7個字符的c字符串:); gets(c); for (i=1;i=5;i+) for (j=i+1;j=5;j+) if (cicj) temp=ci; ci=cj; cj=temp; printf(首尾字符外,將其余5個字符按ascii碼降序排列為:%sn,c); 編寫函數fun,它的功能是:比擬兩個字符串的長度,(不得調用c語言提供的求字符

14、串長度的函數),函數返回較長的字符串。假設兩個字符串長度一樣,則返回第一個字符串。 #include #include char *fun(char *a,char *b) int i,j; for(i=0;*(a+i);i+); for(j=0;*(b+j);j+);if(i=j) return a; else return b; void main() char a100,b100,*c; printf(輸入a字符串: ); gets(a); printf(輸入b字符串 :); gets(b); c=fun(a,b); printf(輸出較長的c字符串:); puts(c); 14、給一個

15、不多于5位的正整數,要求求出它是幾位數,打印出每一位數字,并按逆序打印出各位數字。#include void main() long int num; int a,b,c,d,f,place; printf(輸入num的數值:); scanf(%d,&num);if(num9999)place=5;elseif(num999)place=4;elseif(num99)place=3;elseif(num9)place=2;elseplace=1;printf(place=%dn,place); f=num/10000;d=num/1000%10;c=num/100%10;b=num/10%10

16、; a=num%10;switch(place) case 5: printf(%d,%d,%d,%d,%d,f,d,c,b,a);printf(n反序數為:);printf(%d,%d,%d,%d,%dn,a,b,c,d,f); break; case 4: printf(%d,%d,%d,%d,d,c,b,a);printf(n反序數為:);printf(%d,%d,%d,%dn,a,b,c,d); break; case 3: printf(%d,%d,%d,c,b,a);printf(n反序數為:);printf(%d,%d,%dn,a,b,c); break; case 2: pri

17、ntf(%d,%d,b,a);printf(n反序數為:);printf(%d,%dn,a,b); break; case 1: printf(%d,a);printf(n反序數為:);printf(%dn,a); break; 編寫一個函數fun,它的功能是:求出一個68的整型二維數組中最大元素的值,并將此值返回調用函數。 數組在主函數中初始化,并最終輸出結果。#include int fun(int a68) int i,j,ma*=a00; for(i=0;i6;i+)for(j=0;j8;j+) if(ma*aij)ma*=aij; return ma*; void main()int

18、 arr68=1,8,7,4,6,1,2,3,65,75,12,45,62,18,65,24,32,1,5,4,6,7,8,9,5,5,5,9,9,9,8,8,9,5,2,4,7,81,2,5,3,2,1,4,5,6,9,8;int i,j,ma*; printf(array a:n); for(i=0;i6;i+) for(j=0;j8;j+) printf(%4d,arrij); printf(n); ma*=fun(arr); printf(ma*=%dn,ma*); 16、將字符數組s中的字符串,除了下標為偶數、同時ascii值也為偶數的字符外,其余的全都刪除;串中剩余字符所形成的一個

19、新串放在新的字符數組t中。#include #include void main() char s100, t100; int i,j=0,n; printf(n輸入字符串 S:); gets(s);/scanf(%s, s); n=strlen(s); for(i=0;in;i+) if(i%2=0&si%2=0) tj=si; j+; tj=0; printf(nThe result is : %sn, t);#include #include void fun(char *s,char t) int i,j=0,n; n=strlen(s); for(i=0;in;i+) if(i%2=

20、0&si%2=0) tj=si; j+; tj=0; void main() char s100, t100; printf(nPlease enter string S:); gets(s);/scanf(%s, s); fun(s, t); printf(nThe result is : %sn, t);假定輸入的字符串中只包含字母和*號。則使字符串中的*號不得多于3個;假設多于3個,則刪除多于的*號;假設少于或等于3個,則什么也不做。#include#includevoid main()char str50,c50,b;int i,j,n,a50=0,k,l;gets(str);n=st

21、rlen(str);for(l=0,j=0,i=0;in;i+)if(stri=*)l+;if(l=3)aj=i;j+;elseaj=i;j+;for(i=0;ij;i+)k=ai;b=strk;stri=b;for(i=j;in;i+)stri=0;puts(str);18、編程計算1!+2!+3!+n!的值,其中,n值由鍵盤輸入。#includevoid main()int n;int i=1,t=1,sum=0; printf(輸入n的數值:);scanf(%d,&n);dot=t*i;sum=sum+t;i+;while(i=n);printf(sum=%dn,sum);編寫程序,刪除

22、字符串中的所有空格。 #include #include void main() char str100; int i,j=0; printf(輸入字符串:n); gets(str); for(i=0;istrlen(str);i+) if(stri!= ) strj+=stri; strj=0; printf(n新字符串str為:%sn,str); 求出字符數組ss中存儲的字符串中指定字符的個數。 #includevoid main()int fun(char a,char ch);char a100,ch;printf(nPlease enter a string:);gets(a);pr

23、intf(nPlease enter a char:); ch=getchar();printf(The number is:%dn,fun(a,ch); int fun(char a,char ch) int i,j=0; for(i=0;ai!=0;i+) if(ai=ch) j+; return j; #includevoid main()char a100,ch; int i,j=0; printf(輸入字符串:); gets(a); printf(n); printf(輸入要查找的字符:); ch=getchar(); for(i=0;ai!=0;i+) if(ai=ch) j+;

24、printf(n);printf(字符串a中指定字符的個數:%dn,j);21、輸入一行字符,分別統計出其中的大小寫字母、空格、數字和其他字符的個數。#include void main() int i=0,j=0,k=0,l=0; char c; printf(輸入一行字符:n); while(c=getchar()!=n) if(c=A&c=a&c=0&c=9) j+; else if(c= ) k+; else l+; printf(大小寫字母數:i=%3dn數字數:j=%3dn空格數:k=%3dn其他符號數:l=%3dn,i,j,k,l); 將5行6列的二維數組中的數據,按列的順序依次

25、放到一個一維數組中。 #include void main() int a56=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20, 1,2,3,4,5,6,7,8,9,10; int b30; int i,j,k=0; for (j=0;j6;j+) for(i=0;i5;i+) bk+=aij; printf(二維數組:n); for (i = 0; i 5; i+) for(j=0;j6;j+) printf(%3d,aij); printf(n); printf(n); printf(一維數組:n); for (i= 0;ik;i+)

26、printf( %3d,bi); printf(n);#include void fun( int (*s)4, int *b) int i,j,k=0; for(j=0;j4;j+) for(i=0;i3;i+) bk=*(*(s+i)+j); k+; bk= 0;main() int a30,w34=1,2,3,4,4,5,6,7,6,7,8,9; int i,j; printf(輸出數組w:n); for(i=0; i3; i+) for(j=0;j4; j+) printf(%3d,wij); printf(n); fun(w,a); printf(按列的順序依次放到一個一維數組b:n

27、); for(i=0;i12;i+) printf(%3d,ai); printf(nn);23、求兩個23和32的矩陣之積,并把結果顯示出來。#include void main() int a23,b32,c22=0,i,j,*; printf(輸入一個2行3列的矩陣a:n); for(i=0;i2;i+) for(j=0;j3;j+) scanf(%d,&aij); printf(%5d,aij); printf(n); printf(輸入一個3行2列的矩陣b:n); for(i=0;i3;i+) for(j=0;j2;j+) scanf(%d,&bij); printf(%5d,bij

28、); printf(n); printf(a*b=:n); for(i=0;i2;i+) for(j=0;j2;j+) for(*=0;*3;*+) cij+=ai*b*j; printf(%5d,cij); printf(n); 定義了一個66的二維數組,并進展初始化。將數組右上半三角元素中的值乘以10。 #include void fun(int a6); void main() int i,j;int a66;printf(array a:n);for(i=0;i6;i+)for(j=0;j6;j+)aij=i+j+1;printf(%3d,aij);printf(n);fun(a);p

29、rintf(經過處理后的數組元素array a:n);for(i=0;i6;i+)for(j=0;j6;j+)printf(%5d,aij);printf(n); void fun(int a6) int i,j; for(i=0;i6;i+)for(j=0;j6;j+)if(ij)aij=10*aij;#include void main() int i,j;int a66;printf(array a:n);for(i=0;i6;i+)for(j=0;j6;j+)aij=i+j+1;printf(%3d,aij);printf(n);printf(經過處理后的數組元素array a:n);

30、for(i=0;i6;i+)for(j=0;j6;j+)if(ij)aij=10*aij;printf(%4d,aij);printf(n); 25、編寫程序,實現矩陣(5行6列)的轉置(即行列互換)。 #include void main() int i,j; int a56=4,5,7,8,1,6,8,4,6,5,1,5,7,8,9,4,5,6,1,2,3,4,5,6,1,2,3,6,5,2; int b65; printf(array a:n); for(i=0;i5;i+) for(j=0;j6;j+) printf(%3d,aij); bji=aij; printf(n); prin

31、tf(a的轉置矩陣array b:n); for(i=0;i6;i+) for(j=0;j5;j+) printf(%3d,bij); printf(n); 26、將兩個兩位數的正整數a,b合并成一個整數放在c中。合并的方式是:將a數的十位和個位依次放在c數的千位和十位上,b數的十位和個位數依次放在c數的百位和個位上。 #include void main() int a,b,c,i,j,k,l; printf(輸入a,b的值:); scanf(%d%d,&a,&b); i=a/10; j=a%10; k=b/10; l=b%10; c=1000*i+k*100+j*10+l; printf(

32、兩個兩位數的正整數a,b合并成一個整數為: c=%dn,c); 編寫一個函數fun,它的功能是:實現兩個字符串的連接(不使用庫函數strcat),即把p2所指的字符串連接到p1所指的字符串后。主函數中僅僅輸入和輸出。 #include #include int fun(char a,char b)int i=0,j=0;while(ai+!=0);i-;while(ai+=bj+)!=0);return (ai);int main()char a100,b100;printf( 請輸入一串字符a:);gets(a);printf(n);printf(請再輸入一串字符b:);gets(b);pr

33、intf(n);fun(a,b);printf( 新字符串為:);puts(a);printf(n); 28、請編寫函數fun,該函數的功能是:實現b=a+aT,即把矩陣a加上a的轉置,存放在矩陣b中。計算結果在main函數中輸出a為一個3行3列的整型數組。 #include void fun( int a33, int b33) int i,j, at33; for(i=0;i=2;i+) for(j=0;j=2;j+) atij=aji; for(i=0;i3;i+) for(j=0;j3;j+) bij=aij+atij;main( ) int a33=1, 2, 3, 4, 5, 6,

34、 7, 8, 9, t33 ; int i, j,at33; printf(輸出一個3*3的矩陣a:n); for(i=0;i3;i+) for(j=0;j3;j+) printf(%5d,aij); atij=aji; printf(n); printf(輸出a的轉置矩陣at:n); for(i=0;i3;i+) for(j=0;j3;j+) printf(%5d,atij); printf(n); printf(n a+at=n); fun(a, t) ; for (i = 0 ; i 3 ; i+) for (j = 0 ; j 3 ; j+) printf(%7d, tij) ; pr

35、intf(n) ; 29、依次輸出200以內包含200能被5整除但不能被15整除的自然數。#include void main() int i; for(i=1;i=200;i+) if(i%5=0&i%15!=0) printf(i=%dn,i); 編寫函數fun,該函數的功能是:刪去一維數組中所有一樣的數,使之只剩一個。數組中的數已按由小到大的順序排列,函數返回刪除后數組中數據的個數。 #include int fun(int a,int n)int i,j;for(i=1,j=0;in;i+)if(ai!=aj)a+j=ai;return j+1;void main()int i,n,a

36、100;printf(輸入數組大小:); scanf(%d,&n); printf(輸入%d個從小到大的順序排列的數n,n); for(i=0;in;i+) scanf(%d,&ai); printf(刪除后數組中數據:);n=fun(a,n); for(i=0;in;i+) printf(%5d,ai); printf(n); printf(刪除后數組中數據的個數%5dn,n);31、統計各年齡段的人數。30個年齡通過scanf函數獲得,并放在age數組中。要求把0至9歲年齡段的人數放在d0中,把10至19歲年齡段的人數放在d1中,把20至29歲的人數放在d2中,其余以此類推,把100歲(含

37、100以上年齡的人數都放在d10中。 #include void fun( int a, int b) int i,j; for(j=0;j11;j+) bj=0; for(i=0;i=0&ai=10&ai=20&ai=30&ai=40&ai=50&ai=60&ai=70&ai=80&ai=90&ai=99) b9+=1; else b10+=1;void main() int i, d11;int age30=1,2,56,78,10,25,87,96,31,110,45,65,42,73,23, 118,90,1,10,23,34,45,56,67,68,78,89,91,46,97; p

38、rintf(輸出30個年齡數 :n); for(i=0; i30; i+) printf(%4d,agei); printf(nn);printf(各年齡段的人數為:n); fun( age, d);for(i=0;i10;i+) printf(%3d-%3d: %2dn, i*10, i*10+9, di); printf(Over 100: %2dn, d10); #include void main() int age30,i,d11=0; printf(輸入30個數據:); for(i=0;i30;i+) scanf(%d,&agei); for(i=0;i99)d10+;elseda

39、gei/10+;printf(額度按人數:n);for(i=0;i11;i+)printf(%3d,di); 編寫函數fun,該函數的功能是:統計一行字符串中單詞的個數,作為函數值返回。一行字符串在主函數中輸入,規定所有單詞由小寫字母組成,單詞之間由假設干個空格格開,一行的開場沒有空格。 #include #include int fun(char *s) int i=1,c=0; while(si) if(si= &si-1!= ) c+; i+; return c;main() char b100; int num=0; printf(Enter a string :n); gets(b)

40、; num=fun( b ); printf(The number of word is : %dnn,num);33、計算并輸出給定整數n的所有因子(不包括1與自身)之和。規定n的值不大于1000n由鍵盤輸入。#includevoid main()int i,n,sum=0;printf(請輸入:n=);scanf(%d,&n);while(n1000) printf(輸入錯誤,請重新輸入:n=); scanf(%d,&n); for(i=2;in;i+)if(n%i=0)sum=sum+i;printf(sum=%dn,sum);34、計算并輸出以下級數和: s=1/1*2+1/2*3+1

41、/n(n+1) 。#includevoid main() float i,n,t,s=0; printf(輸入n的數值:n); scanf(%f,&n); for(i=1;i=n;) t=1/(i*(i+1); s=s+t; i+; printf(s=%fn,s); 將字符數組s中字符串中下標為偶數的字符刪除,并用字符串的形式輸出結果。 #include #include void main() char str100; int i,j=0; printf(輸入字符串:n); gets(str); for(i=0;istrlen(str);i+) if(i%2=1) strj+=stri; s

42、trj=0; printf(n新字符串str為:%sn,str); #include #include void fun(char *s,char t) int i,j=0,n; n=strlen(s); for(i=0;in;i+) if(i%2=1) tj=si; j+; tj=0; void main() char s100, t100; printf(nPlease enter string S:); gets(s);/scanf(%s, s); fun(s, t); printf(nThe result is : %sn, t);編程序:通過一個函數判斷字符串是否為回文假設是則函數返

43、回1,主函數中輸出yes,否則返回0,主函數中輸出no。回文是指順讀和倒讀都是一樣的字符串。 #include void main() char a100;printf(請輸入字符串:n); scanf(%s,a); if(fun(a)=1) printf(Yesn); else printf(Non);int fun(char str)int i,n; n=strlen(str); /n表示字符串中字符的個數 for(i=0; i=n/2;i+) if(stri!=strn-i-1) /比擬字符串中相對稱的字符是否一樣 return 0; return 1;37、編程實現由主函數輸入m,n并

44、輸出最終結果,按下述公式計算的值:,其中函數f的功能是計算階乘,函數g的功能是求的值。 #include void main()int g(int m, int n);int m,n,c;printf(輸入m,n的值:n);scanf(%d%d,&m,&n);c=g(m,n);printf(c=%dn,c);int g(m,n)int f(n);int b;b=f(m)/f(n)/f(m-n);return b;int f(n)int a=1,i;for(i=1;i=n;i+)a*=i;return a;編寫一個函數fun,它的功能是:將字符串a中所有下標為奇數位置上的字母轉換為大寫(假設該位

45、置上不是字母,則不轉換)。主函數只能用來輸入輸出字符串。 #include #include void fun ( char *a) int i,n; n=strlen(a); for(i=1;i=a&ai=z) ai= ai-32; void main( ) char b81; printf(n 輸入一行字符串a:n); gets( b ); fun( b ); printf( n將字符串a中所有下標為奇數位置上的字母轉換為大寫: n%sn, b );39、計算并輸出給定數組(長度為5)中每相鄰兩個元素之平均值的平方根之和。 #include #include void main() int

46、 i; double s; double a5=1,7,11,21,29; for(i=0,s=0;i4;i+) s+=sqrt(ai+ai+1)/2); printf(每相鄰兩個元素之平均值的平方根之和為:s=%fn,s); 用指針方法編寫程序,輸入3個整數,將它們按由小到大的順序排列輸出。 #include void main() void fun(int *q1,int *q2,int *q3); int a,b,c,*p1,*p2,*p3; printf(請輸入a,b,c的數值:); scanf(%d%d%d,&a,&b,&c); p1=&a; p2=&b; p3=&c; fun(p1

47、,p2,p3); printf(n); printf(由小到大的順序排列為:%5d%5d%5dn,a,b,c); void fun(int *q1,int *q2,int *q3)void swap(int *pt1,int *pt2);if(*q1*q2) swap(q1,q2); if(*q1*q3) swap(q1,q3); if(*q2*q3) swap(q2,q3);void swap(int *pt1,int *pt2)int t;t=*pt1;*pt1=*pt2;*pt2=t;41、計算并輸出100(包括100)以內能被3或4整除的所有自然數之和。#include void ma

48、in() int i,n=0,sum=0; for(i=1;i=100;i+) if(i%3=0)|(i%4=0) printf(i=%d ,i); n=n+1; sum=sum+i; if(n%10=0) printf(n); printf(n100以內所有可以整除3或4的自然數之和為:sum=%dn,sum); 42、有一函數用scanf函數輸入*的值,求y值。#includevoid main() float *,y;printf(請輸入*的數值:);scanf(%f,&*);if(*=10)y=3*-11;elsey=2*-1;printf(y=%fn,y);輸入兩個正整數m和n,求它

49、們的最大公約數和最小公倍數。 #include void main() int m,n,i,s,j; printf(請輸入m,n的數值:); scanf(%d%d,&m,&n); for(i=1;i=m&i=n) j=m; else j=n; for(;!(j%m=0&j%n=0);j+); printf(n最大公約數為:s=%4dn最小公倍數為:j=%4dn,s,j); 44、求s=a+aa+aaa+aaa之值,其中a是一個數字,n表示a的位數。#include#include void main() int n,a,i=1,s,sum=0; printf(輸入n,a的數值:); scanf

50、(%d,%d,&n,&a); s=a; while(i=n) sum=sum+s; s=s+a*pow(10,i); i+; printf(sum=%dn,sum);輸出楊輝三角要求輸出10行。#include void main() int a1010,i,j;for(i=0;i10;i+)for(j=0;j=i;j+)if(i=j|j=0)aij=1;elseaij=ai-1j+ai-1j-1;printf(%5d,aij);if(i=j)printf(n);46、輸出所有的“水仙花數,所謂“水仙花數是指一個3位數,其各位數字立方和等于該數本身。例如:153是一水仙花數,因為153=13+

51、53+33。 #include #include void main() int *,a,b,c; /*為水仙花數 for(*=100;*=999;*+) a=0.01*; b=10*(0.01*-a); c=*-100*a-10*b; if(*=(pow(a,3)+pow(b,3)+pow(c,3) printf( *=%5dn,*); 求一個33的整型矩陣主對角線元素之和。 #include void main() int a33,i,j,sum=0; printf(請輸入3*3矩陣數據:); for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); fo

52、r(i=0;i3;i+) sum+=aii; printf(矩陣對角線元素之和為:%dn,sum); #include void main() int a33,i,j,sum1=0,sum2=0; printf(請輸入3*3矩陣數據:); for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); for(i=0;i3;i+) sum1+=aii; for(j=0;j3;j+) sum2+=ajj; printf(矩陣兩條對角線元素之和分別為為:%d %dn,sum1,sum2); 有一行電文,按下面規律譯成密碼。第i個字幕變成第(26-i+1)個字母i=1,2

53、26。非字母字符不變。要求原文輸出一行,密碼輸出一行。 #include void main() int i;char a81,b81;printf(輸入一行字符:);gets(a);printf(輸出原文:);puts(a);for(i=0;ai;i+)if(ai=A & ai=a & ai=z)bi=219-ai;elsebi=ai;bi=0;printf(輸出密碼:);puts(b); 或#include void main() int i;char str1100,str2100; gets(str1);for(i=0;str1i!=0;i+)if(str1i=65&str1i=97&

54、str1i=122)str2i=219-str1i;elsestr2i=str1i;str2i=0;printf(%sn%sn,str1,str2);輸入一個4位數字,要求輸出這4個數字字符,但每兩個數字之間空一個空格。比方輸入1990,應輸出“1 9 9 0。 #include void main()int i; char str80; printf(請輸入含有四個數字的字符串:n); scanf(%s,str); for(i=strlen(str);i0;i-) str2*i=stri; str2*i-1= ; printf(n 結果是:n %sn,str); 50、對于給定的一個正整數,

55、判斷其是否為素數。#include#includevoid main()int i,k,m;printf(輸入m的數值:);scanf(%d,&m);k=sqrt(m);for(i=2;ik)printf(n %d是一個素數。n,m);elseprintf(n %d不是一個素數。n,m);將一個數字字符串轉化為整數輸出(不得調用c語言提供的將字符串轉換為整數的函數)。 #include #include long fun ( char *p) long s=0,t; int i=0,j,n=strlen(p),k,s1; if(p0=-) i+; for(j=i;j=n-1;j+) t=pj-

56、0; s1=10; for(k=j;kn-1;k+) t*=s1; s+=t; if(p0=-) return -s; else return s;main() char s80; long n; printf(輸入一行字符串::n); gets(s); n = fun(s); printf(%ldn,n);#includevoid main()char s100,*p;int i,m=1,n=0;p=s;printf(請輸入數字字符串:);gets(s);if(*p=-)m=-1;p+;while(*p!=0)n=n*10+(*p-0);p+;n=m*n;printf(轉換后為:%dn,n)

57、;52、求出一個45的矩陣中數值最小的元素的行號和列號。#include void main() int a45,i,j,min,colum=0,row=0; printf(請輸入4*5矩陣數據:); for(i=0;i4;i+) for(j=0;j5;j+) scanf(%d,&aij); min=a00; for(i=0;i4;i+) for(j=0;jaij) min=aij; row=i; colum=j; printf(min=%dnrow=%dncolum=%dn,min,row,colum);編寫函數fun,它的功能是:實現兩個字符串的比擬,即實現 strcmp的功能(不得調用c

58、語言提供的求字符串比擬的函數),函數返回最終的比擬值。主函數里輸出哪個字符串大。 #includeint fun(char a, char b) int i=0; while(ai=bi)&(ai!=0) i+; printf(a,b字符串中比擬大的為:); if(ai=0&bi=0)return a;else if(aibi)return a;elsereturn b;void main() char a100,b100,*c; printf(輸入字符串a:n); gets(a); printf(輸入字符串b:n); gets(b); c=fun(a,b); puts(c); 54、編寫一個

59、函數void fun(int tt56,int pp6),tt指向一個5行6列的二維函數組,求出二維函數組每行中最小元素,并依次放入pp所指定一維數組中。二維數組中的數已在主函數中初始化。 #include void fun(int tt56,int pp6) int i,j,min; for(i = 0;i 5;i+) min = tti0; for(j = 0;j 6;j+) if(ttij min) min = ttij; ppi = min; void main() int t56=68,56,32,44,54,12,14,56,24,47,88,58,42,85,22,75,44,5

60、6,45,12,3,5,78,45,4,6,2,7,8,41; int p6,i,j,k; printf(The riginal data is:n); for(i = 0;i 5;i+) for(j = 0;j 6;j+) printf(%6d,tij); printf(n); fun(t,p); printf(nThe result is:n); for(k = 0;k 5;k+) printf(%4d,pk); printf(n); 移動字符串中內容,移動的規則如下:把第1到第m個字符,平移到字符串的最后,把第m1到最后的字符移到字符串的前部。 m由鍵盤輸入。#include #incl

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論