計算機二級C語言考試編程題題庫_第1頁
計算機二級C語言考試編程題題庫_第2頁
計算機二級C語言考試編程題題庫_第3頁
計算機二級C語言考試編程題題庫_第4頁
計算機二級C語言考試編程題題庫_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機 c 語言編程題庫 1、求 100之內(nèi)自然數(shù)中最大的能被 17整除的數(shù) 。 #include void main() int i; for(i =100;i0;i-) if(i%17=0)break; printf(%dn,i); 2、 已知a, b, c都是1位整數(shù),求當三位整數(shù) abc、cba的和為1333時a、b、c的 值。 #include void main() int a,b,c; for(a=1;a=9;a+) for(b=0;b=9;b+) for(c=1;c=9;c+) if(a*100+b*10+c+c*100+b*10+a=1333) printf(%d,%d,%d

2、n,a,b,c); 3、計算并輸出 200-400 之間不能被 3整除的整數(shù)的和。 #include void main() int i,sum=0; for(i=200;i=400;i+) if(i%3!=0) sum=sum+i; printf(%dn,sum); 4、從鍵盤輸入 10 個數(shù),統(tǒng)計非負數(shù)的個數(shù),并計算非負數(shù)的和。 #include void main() int i,n=0,sum=0; int a10; printf( “請輸入 10個數(shù): ”); for(i=0;i10;i+) scanf( “%d”, for(i=0;i=0) sum=sum+ai; n+; prin

3、tf(非負個數(shù)是 %d, sum=%dn,n,sum); 5、求 100 之內(nèi)自然數(shù)中偶數(shù)之和。 #include void main() int i,sum=0; for(i=0;i=100;i+) if(i%2=0) sum=sum+i; printf(sum=%dn,sum); 6、輸入 5 個數(shù),求和并輸出。要求編寫求和的函數(shù)。 #include void main() int b(int x,int n); int sum=0; int a5; int i; printf( 請輸入 5 個數(shù) :); for(i=0;i5;i+) scanf(%d, sum=b(a,5); print

4、f(sum=%dn,sum); int b(int x,int n) int i,sum=0; for(i=0;i5;i+) sum=sum+xi; return sum; 的值 7、編程計算 1*2*3+3*4*5+5*6*7+.+99*100*101 #include void main() int i,sum=0; for(i=1;i=99;i=i+2) sum=sum+i*(i+1)*(i+2); printf(%dn,sum); 原順序為 1,2,3,4, z ;如果為負數(shù),輸 8、編寫程序,將用戶輸入的字符串中所有的字符a 用*代替,然后輸出 #include #include v

5、oid main() int i,n; char b20; printf( 請輸入字符串 :); gets(b); n=strlen(b); for(i=0;in;i+) if(bi=a) bi=*; for(i=0;in;i+) printf(%c,bi); printf(n); 9、編寫程序, 將一個一維數(shù)組的元素逆序存放并輸出。 例如, 5,逆序后為 5,4, 3, 2,1。 #include void main() int i; int a5; printf( “請輸入 5 個數(shù): ”); for(i=0;i5;i+) scanf( “%d”, for(i=0;i2;i+) t=ai;

6、 ai=a4-i; a4-i=t; for(i=0;i5;i+) printf(%d ,bi); printf(n); 11、編程判斷輸入的整數(shù)的正負性和奇偶性。如果為正數(shù),輸出 出 f ;如果為偶數(shù),輸出 o ;如果為奇數(shù),輸出 j #include void main() int a; printf( “請輸入一個數(shù) : ” ); scanf( “%d”, if(a0) printf(zn); if(a0) printf(fn); if(a%2=0) printf(on); if(a%2!=0) printf(jn); 12、計算并輸出 1-200 之間不能被 5 整除的整數(shù)的和 #inc

7、lude void main() int i,sum=0; for(i=1;i=200;i+) if(i%5!=0) sum=sum+i; printf(%dn,sum); 個 a) 的值 13、從鍵盤輸入 n 和 a 的值,計算 a+aa+aaa+.+aa. #include void main() int i,a,n; long int sum=0,st=0; printf( 請輸 a 和 n:); scanf(%d%d, for(i=1;i=n;i+) st=st+a; sum=sum+st; a=a*10; printf(%ldn,sum); 14、輸入 5 個數(shù),求它們中最大值和平均

8、值并輸出。 #include void main() int a5; int i,j,max,sum=0; float average; printf( 請輸入 5 個數(shù) :); for(i=0;i5;i+) scanf(%d, max=a0; for(j=0;j5;j+) sum=sum+aj; if(maxaj) max=aj; average=1.0/5*sum; printf(max=%d,average=%fn,max,average); 15、輸出所有 200-400 之間能被 3 整除且個位數(shù)字為 6 的整數(shù)。 #include void main() int i; for(i=

9、200;i=400;i+) if(i%3=0) printf(n); 16、編寫程序,將用戶輸入的字符串中所有的字符a 去掉,然后輸出剩余的字符 #include void main() int i,j,n1; char a20; printf( 請輸入字符串 :); gets(a); n1=strlen(a); for(i=0;in1;i+) if(ai!=a) printf(%c,ai); printf(n); 17、計算并輸出 200-400 之間不能被 7 整除的整數(shù)的和。 #include void main() int i,sum=0; for(i=200;i=400;i+) if

10、(i%7!=0) sum=sum+i; printf(sum=%dn,sum); 18. 計算并輸出 200-400 之間不能被 5整除的整數(shù)的和。 #include void main() int i,sum=0; for(i=200;i=400;i+) if(i%5!=0) sum=sum+i; printf(sum=%dn,sum); 19、從鍵盤輸入 10 個數(shù),統(tǒng)計非正數(shù)的個數(shù),并計算非正數(shù)的和 #include void main() int i,n=0,sum=0; int a10; printf( “請輸入 10個數(shù): ”); for(i=0;i10;i+) scanf( “%

11、d”, for(i=0;i10;i+) if(ai=0) sum=sum+ai; n+; printf(非正個數(shù)是 %d, sum=%dn,n,sum); 20、輸入一串字符,將其中的大寫字母變成對應的小寫字母并輸出。 #include #include void main() int i,n; char a20; printf( 請輸入字符串 :); gets(a); n=strlen(a); for(i=0;i=A for(i=0;in;i+) printf(%c,ai); printf(n); 21、打印所有的水仙花數(shù)。所謂水仙花數(shù)是指一個三位數(shù),其各位數(shù)字的立方和等 于該數(shù)。例如, 1

12、53 就是一個水仙花數(shù),因為 153=1*1*1+5*5*5+3*3*3 。 #include void main() int a,b,c,s; for(a=1;a=9;a+) for(b=0;b=9;b+) for(c=0;c=9;c+) if(a*100+b*10+c=a*a*a+b*b*b*b+c*c*c) s=a*100+b*10+c; printf(%dn,s); 22、一個皮球從 100 米高度自由落下,每次落地后反彈回原高度的一半,再落下, 再反彈。求當它第 10次落地時,共經(jīng)過了多少米,第 10 次反彈多高? #include void main() int i; float

13、sum=100.0,h=50; for(i=2;i=10;i+) sum=sum+2*h; h=h/2; printf(%f,%fn,sum,h); 23、輸出所有 0-200 之間能被 3 整除且個位數(shù)字為 6 的整數(shù)。 #include void main() int i; for(i=0;i=200;i+) if(i%3=0) printf(n); 24、輸入一個正整數(shù),輸出它的階乘。 #include void main() int i,J=1,n=10; printf( “請輸入一個正整數(shù) : ”); scanf( “%d”, for(i=1;i=n;i+) J=J*i; print

14、f(%d 的階乘是 :%dn,n,J); 25、編寫程序,判斷從鍵盤輸入的字符中數(shù)字字符的個數(shù)、大寫字母的個數(shù)、小寫 字母的個數(shù)及其它字符的個數(shù),以 * 作為字符輸入結束標志 #include #include void main() int i,x,m=0,n=0,k=0,j=0; char a20; printf( 請輸入字符串 :); gets(a); x=strlen(a); for(i=0;i=0 else j+; printf(%d,%d,%d,%dn,m,n,k,j); 26、編寫程序,使用循環(huán)結構輸出下列圖形: #include void main() int i,j,k ;

15、for(i=0;i5;i+) for(j=0;j4-i;j+) printf( ); for(k=0;k4;k+) printf(*); printf(n); printf(n); 27、輸入一串字符,逆序輸出。要求使用數(shù)組實現(xiàn)。 #include #include void main() int i,j,t,n; char a10; printf( 請輸入字符串 :); gets(a); n=strlen(a); for(i=0;in/2;i+) t=ai; ai=an-1-i; an-1-i=t; for(j=0;jn;j+) printf(%c,aj); printf(n); 28、求

16、1-1/2+1/3-1/4+.+1/99-1/100的值。 #include void main() int n,s=1; float sum=1.0; for(n=2;n=100;n+) s=-s; sum=sum+1.0/n*s; printf(1-1/2+1/3-1/4+.+1/99-1/100=%fn,sum); 29、輸入 3個學生 4門課的成績 (60,70,65,75) ,(75,80,75,90),(95,75,90,65), 計算每個學生的總分和平均成績并輸出,結 果保留一位小數(shù)。 #include void main() int a34=60,70,65,75,75,80,

17、75,90,95,75,90,65; int i,j; float average,sum=0.0; printf( 三個學生的總分和平均成績依次為: n); for(i=0;i3;i+) sum=0.0; for(j=0;j4;j+) sum=sum+aij; average=sum/4; printf(%.2f,%.2fn,sum,average); 30、求兩個正整數(shù)的最大公約數(shù)。 #include void main() int m,n,m1,n1,t,k; printf( “請輸入兩個正整數(shù) : ”); scanf( “%d%”d , if(mn) t=m; m=n; n=t; m1

18、=m; n1=n; while(k=m1%n1)!=0) m1=n1; n1=k; printf(%d 和最大公約數(shù)是:dn,m,n,n 1); 31、求 100 之內(nèi)自然數(shù)中奇數(shù)之和。 #include void main() int i,sum=0; for(i=0;i=100;i+) if(i%2!=0) sum=sum+i; printf(sum=%dn,sum); 32、輸出所有 200-400 之間能被 3 整除且個位數(shù)字為 7 的整數(shù)。 #include void main() int i; for(i=200;i=400;i+) if(i%3=0) printf(n); 33、

19、 編程計算 1*2*3+4*5*6+.+97*98*99的值。 #include void main() int i,n,sum=0; for(i=1;i=94;i=i+3) sum=sum+i*(i+1)*(i+2); printf(%dn,sum); 34、輸入 n 的值,計算并輸出 1*1+2*2+3*3+4*4+5*5+.+n*n 的值。要求編寫函數(shù) f 求平方。 #include void main() int f(int x); int n,sum; printf( 請輸 n 值 :); scanf(%d, sum=f(n); printf(%dn,sum); int f(int

20、x) int j,z=0; for(j=1;j=x;j+) z=z+j*j; return z; 35、計算并輸出 1-200 之間不能被 3 整除的整數(shù)的和。 #include void main() int i,sum=0; for(i=1;i=200;i+) if(i%3!=0) sum=sum+i; printf(%dn,sum); 36、輸入 3個學生 4門課的成績 (60,70,65,75) ,(75,80,75,90),(95,75,90,65), 計算每個學生的總分和平均成績并輸出,結果保留一位小數(shù)。 #include void main() int a34=60,70,65,

21、75,75,80,75,90,95,75,90,65; int i,j; float average,sum=0.0; printf( 三個學生的總分和平均成績依次為: n); for(i=0;i3;i+) sum=0.0; for(j=0;j4;j+) sum=sum+aij; average=sum/4; printf(%.1f,%.1fn,sum,average); 37、輸入一個華氏溫度,輸出攝氏溫度,計算公式為c=5/9*(F-32) 。要求結果保留 兩位小數(shù)。 #include void main() float F,c; printf( “請輸入一個華氏溫度 : ”); scan

22、f( “%f”, c=5.0/9*(F-32); printf(%.2fn,c); 38、輸入任意三個數(shù),按從大到小的順序輸出。 #include void main() int a,b,c,t; printf( “請輸入任意三個數(shù) : ”); scanf( “%d%d%”d, if(ab) t=a; a=b; b=t; if(ac) t=a; a=c; c=t; if(bc) t=b; b=c; c=t; printf(%d,%d,%dn,a,b,c); 39、用 1元人民幣兌換 5 分、2分、1 分的硬幣共 50枚,每種硬幣至少一枚,問共 有多少種兌換方案?輸出每一種方案中三種硬幣的數(shù)量。

23、 #include main() float x=1.0; float a=0.01,b=0.02,c=0.05; int i,j,k; int count=0; printf( 1分 ,2 分 ,5 分張數(shù)依次為 : n); for(i=1;i100;i+) for(j=1;j50;j+) for(k=1;k20;k+) if(i*a+j*b+k*c)=1 count+; printf(”共有 d 種方案 n,cou nt); 40、從鍵盤輸入圓的半徑,計算并輸出圓面積與周長,要求結果保留兩位小數(shù)。 #include void main() int r; float pi=3.14159;

24、float c,s; printf( “請輸入半徑 r: ”); scanf( “%d”, s=pi*r*r; c=2*pi*r; printf(面積=%.2f,周長=%.2fn,s,c); 41、 從鍵盤輸入一個字符串,再輸入兩個正整數(shù)m和n,輸出字符串中從m開始,連 續(xù) n 個字符。例如,輸入 abcdefg , 2, 3,輸出 bcd。 #include #include void main() int i,m,n; char a20; printf( 請輸入字符串 :); gets(a); n=strlen(a); printf( 請輸入兩個正整數(shù) :); scanf(%d%d, fo

25、r(i=m-1;im+n-1;i+) printf(%c,ai); printf(n); 42、輸入一個不多于 5 位的正整數(shù),判斷它是幾位數(shù),并逆序輸出各位數(shù)字。 #include void main() int a,b,c,d,e; long x; printf( “請輸入一個不多于 5 位的正整數(shù) : ”); scanf( “%d”, a=x/10000; b=x%10000/1000; c=x%1000/100; d=x%100/10; e=x%10; if(a!=0)printf(它是 5 位數(shù), %d,%d,%d,%d,%dn,e,d,c,b,a); else if(b!=0)pr

26、intf( 它是 4 位數(shù), %d,%d,%d,%dn,e,d,c,b); else if(c!=0)printf(它是 3 位數(shù), %d,%d,%dn,e,d,c); else if(d!=0)printf( 它是 2 位數(shù), %d,%dn,e,d); else printf( 它是 1 位數(shù), %dn,e); 43, 輸出 Fibonacci 數(shù)列的前 40 項 #include void main() int a40=1,1; int i; printf(%12d%12d,a0,a1); for(i=2;i40;i+) if(i%4=0) printf(n); ai=ai-1+ai-2;

27、 printf(%12d,ai); printf(n); 44,判斷某一年是否是閏年 #include void main () int year,leap; printf( “請輸入一個年份 : ”); scanf(%d, if (year%4=0) if (year%100=0) if (year%400=0) leap=1; else leap=0; else leap=1; else leap=0; if (leap) printf(%d is a leap yearn,year); else printf(%d is not a leap yearn,year); 45,起泡法(選擇

28、法)對十個數(shù)排序 #include void main() int i,j,t; int a10; printf( 請輸入 10 個數(shù): n); for(i=0;i10;i+) scanf(%d, for(j=0;j9;j+) for(i=0;iai+1) t=ai; ai=ai+1; ai+1=t; for(i=0;i10;i+) printf(%d ,ai); printf(n); 46,判斷某個數(shù)是否為素數(shù) . #include #include void main() int i,m; float k; printf( 請輸入一個正整數(shù) :); scanf(%d, k=sqrt(m);

29、 for(i=2;ik)printf(%d is a prime numbern,m); else printf(%d is not a prime numbern,m); 47,編程計算1! +2! +3! +10的值。 #include void main() int i,j,sum1=1,sum=0; for(i=1;i=10;i+) for(j=1;j=i;j+) sum1=sum1*j; sum=sum+sum1; prin tf(1!+2!+3!+10!=%ldn,sum); 48,求以下數(shù)列前十五項的和: 2/1 ,3/2 ,5/3 ,8/5 ,13/8,21/13 。 #inc

30、lude void main() int n; float a=2.0,sum=0.0,b=1.0,t; for(n=1;n=15;n+) sum=sum+a/b; t=a; a=a+b; b=t; printf(%fn,sum); 49,從鍵盤輸入圓柱體高與底面半徑,計算并輸出圓柱體表面積與體積,要求結果 保留兩位小數(shù)。 #include void main() int h,r; float pi=3.14159,s,v; printf( “請輸入圓柱體半徑 r 和高 h: ”); scanf( “%d%”d, s=2*pi*r*r+2*pi*r*h; v=pi*r*r*h; printf(

31、s=%.2f,v=%.2fn,s,v); 50, 從鍵盤輸入一個十進制整型數(shù)據(jù),計算并輸出其各位上數(shù)字之和(忽略正負號) 例如,輸入 1234,輸出 10;輸入-1234,輸出 10。 #include #include void main() int i1,i2,i3,i4,n,sum; int a; printf( 請輸入一個整數(shù) :); scanf(%d, n=abs(a); i1=n/1000; i2=n%1000/100; i3=n%100/10; i4=n%10; sum=i1+i2+i3+i4; printf(sum=%dn,sum); 51, 已知銀行定期存款利率為r=2.25

32、%,輸入存款本金X、存款年數(shù)n,輸出本利之和 y=x(1+r)(1+r)(1+r),共 n 個(1+r)。 #include void main() float x,y,r=0.0225; int i,n; printf( 請輸入存款本金 x 和存款年數(shù) n:); scanf(%f%d, y=x; for(i=1;i=n;i+) y=y*(1+r); printf(%fn,y); 52, 編程判斷輸入的字符串是否為“回文” 。所謂“回文”是指順讀和倒讀都一樣, 如 abcba 。 #include #include void main() int i,n; char a20; printf(

33、請輸入字符串 :); gets(a); n=strlen(a); for(i=0;i=n) printf( 是回文 .n); 53、編寫程序,將用戶輸入的字符串中刪除所有的數(shù)字,然后輸出剩余的字符 #include void main() int i,j,n1; char a20; printf( 請輸入字符串 :); gets(a); n1=strlen(a); for(i=0;i=0 printf(n); 1. 有一函數(shù):當 x0 時,y=1。 編一程序,輸入 x 的值,輸出 y 的值。 #include int main() int x,y; scanf(%d, if (x=0) if

34、(x0) y=1; else y=0; else y=-1; printf(x=%d,y=%dn,x,y); return 0; 2. 輸入三個實數(shù),將這三個數(shù)按由大到小的順序排列,并輸出這三個數(shù)。 #include int main() float a,b,c,t; scanf(%f,%f,%f, if(ab) t=a; a=b; b=t; if(ac) t=a; a=c; c=t; if(bc) t=b; b=c; c=t; printf(%5.2f,%5.2f,%5.2fn,a,b,c); return 0; 3. 有三個整數(shù)a, b, c,由鍵盤輸入,輸出其中最大者 #include

35、int main() int a,b,c,max; printf( 請輸入 a,b,cn); scanf(%d,%d,%d, max=a; if(maxb) max=b; if(maxc) max=c; printf( 最大的數(shù)為 %dn,max); return 0; 4. 編程求圓面積、圓周長。要求圓半徑由鍵盤輸入,輸出時要求有文字說明,取小 數(shù)點后兩位數(shù)字。 #include void main() float r, l, s; float pi=3.1415926; printf( 表輸入圓半徑 r :); scanf(%f, l=2*pi*r; s=pi*r*r; printf( 圓

36、周長為: l=%6.2fn, l); printf( 圓面積為: s=%6.2fn, s); 5. 有分段函數(shù):當 xv-10 時,y=|x|+5;當-10 x 10 時, y=sqrt(x) 。 編一程序,輸入 x 的值,輸出 y 的值。 #include int main() int x,y; scanf(%d, if(x-10) y=abs(x)+5; else if(x=10) y=4*x-8; else y=sqrt(x); printf(x=%d,y=%dn,x,y); return 0; 6. 編寫程序, 判斷某一年是否是閏年。(閏年的條件是: 能被 4 整除,但是不能被 100

37、 整除,或者可以被 400 整除。) #include int main() int year,leap; printf(enter year:); scanf(%d, if (year%4=0) if(year%100=0) if(year%400=0) leap=1; else leap=0; else leap=1; else leap=0; if (leap) printf(%d is ,year); else printf(%d is not ,year); printf(a leap year.n); return 0; 7. 輸入一個華氏溫度,要求輸出攝氏溫度,輸出時要求有文字說

38、明,取小數(shù)點后兩 位數(shù)字。公式為 c=5/9(f-32) #include int main() float c,f; printf( 請輸入一個華氏溫度 :); scanf(%f, c=(5.0/9.0)*(f-32); printf( 攝氏溫度為: %5.2fn,c); return 0; 8. 有一函數(shù):當 x1 時, y=|x| ;當 1=x=10 時, y=3x+11。 編一程序,輸入 x 的值,輸出 y 的值。 #include #include void main() int x, y; printf( 輸入 x:); scanf(%d, if (x1) y=abs(x); el

39、se if (x*p2) t=p1;p1=p2;p2=t; if(*p1*p3) t=p1;p1=p3;p3=t; if(*p2*p3) t=p2;p2=p3;p3=t; printf(%d,%d,%dn,*p1,*p2,*p3); 10. 輸入一個字符,判斷它是否是小寫字母,如果是,將它轉(zhuǎn)換成大寫字母;如果不 是,不轉(zhuǎn)換。然后輸出最后得到的字符。 #include void main ( ) char ch; scanf(%c, ch=(ch=A printf(%cn,ch); 11. 編程求圓柱體積,圓柱表面積。要求圓半徑,圓柱高由鍵盤輸入,輸出時要求有 文字說明,取小數(shù)點后兩位數(shù)字。 #

40、include void main() float r, h, v, s; float pi=3.1415926; printf( 表輸入圓半徑 r 、圓柱高 h:); scanf(%f%f, v=pi*r*r*h; s=2*pi*r*r+2*pi*r*h; printf( 圓柱體積為: v=%6.2fn, v); printf( 圓柱表面積為: s=%6.2fn, s); 12. 有分段函數(shù):當 x-5 時,y=x+10;當-5 x5 時,y=2x-10. 編一程序,輸入 x 的值,輸出 y 的值。 #include int main() int x,y; scanf(%d, if(x-5)

41、 y=x+10; else if(x=5) y=xA2; else y=2*x-10; printf(x=%d,y=%dn,x,y); return 0; 13. 有三個整數(shù) a, b, c ,由鍵盤輸入,輸出其中最小者。 #include int main() int a,b,c,max; printf( 請輸入 a,b,cn); scanf(%d,%d,%d, max=a; if(maxb) max=b; if(maxc) max=c; printf( 最小的數(shù)為 %dn,max); return 0; 14. 輸入一個字符,判斷它是否是大寫字母,如果是,將它轉(zhuǎn)換成小寫字母;如果不 是,不

42、轉(zhuǎn)換。然后輸出最后得到的字符。 #include void main ( ) char ch; scanf(%c, ch=(ch=A printf(%cn,ch); 15. 輸入三角形的三邊長,求三角形面積。求三角形面積的公式為 area=sqrt(s(s-a)(s-b)(s-c), 其中 s=(a+b+c)/2 #include #include void main ( ) float a,b,c,s,area; scanf(%f%f%f, s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(%fn,area); 16. 編程求 2!+4!+

43、6!+8!+10! 的值,并輸出結果。 #include int main() int n=1,sum=0,j,m=1,i; for(i=1;i=5;i+) m=1; for(j=1;j=2*i;j+) m=m*j; sum=sum+m; printf(sum=%dn,sum); return 0; 17. 猴子吃桃問題。猴子第一天摘下若干個桃子,當即吃了一半,還不過癮,又多吃 了一個。 第二天早上又將剩下的桃子吃掉一半,又多吃一個。以后每天早上都吃了前一天剩 下的一半零一個。 到第 10 天早上想吃時就剩一個桃子了。求第一天共摘了多少個桃子。 #include int main() int

44、day,x1,x2; day=9; x2=1; while(day0) x1=(x2+1)*2; x2=x1; day-; printf(total=%dn,x1); return 0; 19. 編程求 1100之間的所有素數(shù),并輸出結果。 #include #include int main() int n,m=0,k,i; for(n=1;n=100;n=n+2) k=sqrt(n); for (i=2;i=k+1) printf(%d ,n); m=m+1; if(m%10=0) printf(n); printf(n); return 0; 10 21. 用pi/41-1/3+1/5-

45、1/7+. 公式求pi的近似值,直到某一項的絕對值小于 的 -6 次方為止。 #include #include int main() int sign=1; double pi=0,n=1,term=1; while(fabs(term)=1e-6) pi=pi+term; n=n+2; sign=-sign; term=sign/n; pi=pi*4; printf(pi=%10.8fn,pi); return 0; 22. 一個球從100m高度自由落下,每次落地后又反跳回原高度的一半,再落下,再 反彈。求它在第 10 次落地時共經(jīng)過多少米? #include int main() int

46、 i; double m=100,sum=0; for(i=0;i10;i+) sum=sum+m; m=m/2; printf(%fn,sum); return 0; 23. 輸入兩個正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。 #include void main() int p,r,n,m,temp; printf( 請輸入 n 和 m: ); scanf(%d,%d,%d, if(nm) temp=n; n=m; m=temp; p=n*m; while(m!=0) r=n%m; n=m; m=r; printf(:%dn,n); printf( :%dn,p/n); 24. 利用循環(huán),

47、編程求1!+2!+3!+10!的值,并輸出結果 #include int main() int n=1,sum=0,j,m=1,i; for(i=1;i=10;i+) m=1; for(j=1;j=i;j+) m=m*j; sum=sum+m; printf(sum=%dn,sum); return 0; 25. 有一分數(shù)序列: 2/1,3/2,5/3,8/5,13/8,21/13 ,求出這個數(shù)列前 20 項之 和。 #include int main() int i,n=20; double a=2,b=1,s=0,t; for(i=1;i=n;i+) s=s+a/b; t=a, a=a+b

48、,b=t; printf(sum=%16.10fn,s); return 0; 26. 求 Fibonacci 數(shù)列前 40 個數(shù)。這個數(shù)列有以下特點: 第 1 和第 2 個數(shù)為 1,從第 3 個數(shù)開始,該數(shù)是其前面兩個數(shù)之和。 #include int main() int f1=1,f2=1,f3; int i; printf(%12dn%12dn,f1,f2); for(i=1; i=38; i+) f3=f1+f2; printf(%12dn,f3); f1=f2; f2=f3; return 0; 27. 一個數(shù)如果恰好等于它的因子之和, 這個數(shù)就稱為完數(shù)。 例如,6 的因子為 1、

49、2、 3,而 6=1+2+3,因此 6 是完數(shù)。編程求 1000以內(nèi)所有完數(shù)。 #include int main() int m,s,i; for (m=2;m1000;m+) s=0; for (i=1;im;i+) if(m%i)=0)s=s+i; if(s=m) printf(%d,its factors are ,m); for(i=1;im;i+) if(m%i=0) printf(%d ,i); printf(n); return 0; 28. 求 S=a+aa+aaa+.+aa.a(n個 a) 之值。其中 a 是一個數(shù)字, n 代表 a 的位數(shù)。 例如:2+22+222+222

50、2+22222(此時n為5), n由鍵盤輸入。 #include int main() int a,sn=0,tn=0,k,i=1,n; printf(a,n=:); scanf(%d,%d, while(i=n) tn=tn+a; sn=sn+tn; a=a*10; +i; printf(a+aa+aaa+.=%dn,sn); return 0; 30. 輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其他字符的個數(shù)。 #include void main() char c; int letters=0,space=0,digit=0,other=0; printf(n); while(c

51、=getchar()!=n) if(c=a else other+; printf(:%dn:%dn:%dn:%dn,letters,space,digit,other); 31. 將一個數(shù)組中的值按逆序重新存放。例如,原來順序為 改為 0, 2,3,4, 6,8。 #include #define N 6 void main() int aN,i,temp; printf(enter array a:n); for(i=0;iN;i+) scanf(%d, printf(array a:n); for(i=0;iN;i+) printf(%4d,ai); for(i=0;iN/2;i+) temp=ai; ai=aN-i-1; aN-i-1=temp; printf(n Now,array a:n); for(i=0;iN;i+) printf(%d ,ai); printf(n); 32. 編寫一個函數(shù), 求數(shù)列 1+1/2+1/3+1/4+1/5+.1/n 輸出結果。 #include

溫馨提示

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

評論

0/150

提交評論