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

下載本文檔

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

文檔簡介

計算機C語言編程題庫

1、求100之內自然數中最大的能被17整除的數。

#include<stdio.h>

voidmain()

{inti;

for(i=100;i>0;i-)

if(i%17==0)break;

printf("%d\nH,i);

)

2、a,b,c都是1位整數,求當三位整數abc、cba的和為1333時a、

b、c的值。

#include<stdio.h>

voidmain()

(

inta,b,c;

for(a=l;a<=9;a++)

{

for(b=0;b<=9;b++)

(

for(c=l;c<=9;c++)

+

if(a100+b+10+c+c小100+b+10+a==1333)

printf(M%d,%d,%d\n",a,b,c);

}

3、計算并輸出200-400之間不能被3整除的整數的和。

#include<stdio.h>

voidmain()

{inti,sum=0;

for(i=200;i<=400;i++)

if(i%3!=0)

sum=sum+i;

printf("%d\n",sum);

1

4、從鍵盤輸入10個數,統計非負數的個數,并計算非負數的和。

#include<stdio.h>

voidmain()

{inti,n=0,sum=0;

inta[l()];

printf(“請輸入10個數:〃);

for(i=0;i<10;i++)

scanfC%d〃,&a[i]);

for(i=0;i<10;i++)

if(a[i]>=0)

{sum=sum+a[i];

n++;|

printf("非負個數是%&sum=%d\n,,,n,sum);

)

5、求100之內自然數中偶數之和。

#include<stdio.h>

voidmain()

(inti,sum=();

for(i=0;i<=100;i++)

if(i%2==0)

surn=sum+i;

printf(,'sum=%d\n",sum);

)

6、輸入5個數,求和并輸出。要求編寫求和的函數。

#include<stdio.h>

voidmain()

{intb(intx[],intn);

intsum=0;

inta[5];

inti;

printf(”請輸入5個數

for(i=0;i<5;i++)

scanf("%d'\&a[i]);

sum=b(a,5);

printf(usum=%d\n';sum);

)

intb(intx[],intn)

|inti,sum=();

for(i=0;i<5;i++)

sum=sum+x[i|;

returnsum;}

7、編程計算l*2*3+3*4*5+5*6*7+...+99*100*101的值。

#include<stdio.h>

voidmain()

{inti,sum=0;

for(i=l;i<=99;i=i+2)

sum=sum+i*(i+1)*(i+2);

printf("%d\nH,sum);

)

8、編寫程序,將用戶輸入的字符串中所有的字符a用*代替,然后輸

出。

#include<stdio.h>

#include<string.h>

voidmain()

{inti,n;

charb[20];

prinlf("請輸入字符串:”);

gets(b);

n=strlen(b);

for(i=0;i<n;i++)

if(b[i]=='a')

b[i]='*t;

for(i=0;i<n;i++)

printf(H%c",b[i]);

printf(M\nu);

1

9、編寫程序,將一個一維數組的元素逆序存放并輸出。例如,原順

序為1,2,3,4,5,逆序后為5,4,3,2,1。

#include<stdio.h>

voidmain()

{inti;

inta[5];

printf(“請輸入5個數:〃);

for(i=0;i<5;i++)

scanf("%d"

for(i=0;i<2;i++)

I

t=a[i];

a[i]=a[4-i];

a[4-i]=t;

I

for(i=0;i<5;i++)

printf(H%d

printf("\n");

11、編程判斷輸入的整數的正負性和奇偶性。如果為正數,輸出Z;

如果為負數,輸出f;如果為偶數,輸出。;如果為奇數,輸出j

#include<stdio.h>

voidmain()

{inta;

printf(“請輸入一個數:〃);

scanff'%d",&a);

if(a>0)

printf(nz\n");

if(a<0)

printf(u1\n");

if(a%2==0)

printf(,,o\nH);

if(a%2!=0)

printf(,'j\nH);

)

12、計算并輸出1?200之間不能被5整除的整數的和。

#include<stdio.h>

voidmain()

{inti,sum=0;

for(i=l;i<=200;i++)

if(i%5!=0)

sum=sum+i;

printf("%d\nM,sum);

)

13、從鍵盤輸入n和a的值,計算a+aa+aaa+...+aa...a(n個a)的值。

#includc<stdio.h>

voidmain()

{inti,a,n;

longintsum=0,st=0;

printf("請輸a和n:u);

scanf(,'%d%d',,&a,&n);

for(i=l;i<=n;i++)

{st=st+a;

sum=sum+st;

a=a*10;

)

printf("%ld\n,\sum);

)

14、輸入5個數,求它們中最大值和平均值并輸出。

#include<stdio.h>

voidmain()

{

inta[5];

inti,j,max,sum=O;

floataverage;

printf(”請輸入5個數:");

for(i=0;i<5;i++)

scanf("%dM,&a[i]);

max=a[0];

for(j=0;j<5;j++)

{

sum=sum+a[j];

if(max<a[j])

max=a[jl;

)

average=l.0/5*sum;

printf("max=%d,average=%f\n",max,average);

)

15、輸出所有200-400之間能被3整除且個位數字為6的整數。

#include<stdio.h>

voidmain()

(

inti;

for(i=200;i<=400;i++)

if((i%3==0)&&((i-6)%10=0))

printf("%d\nM,i);

printf(',\n,');

)

16、編寫程序,將用戶輸入的字符串中所有的字符a去掉,然后輸出

剩余的字符。

#include<stdio.h>

voidmain()

{intij,nl;

chara[20];

printf(”請輸入字符串:“);

gets(a);

nl=strlen(a);

for(i=0;i<nl;i++)

if(a[i]!='a')

printf(H%cn,a[i]);

printf(H\n");

)

17、計算并輸出20(1-400之間不能被7整除的整數的和。

#include<stdio.h>

voidmain()

{inti,sum=0;

for(i=200;i<=400;i++)

if(i%7!=0)

surn=sum+i;

printf(',sum=%d\n',,sum);

(

18.計算并輸出200-400之間不能被5整除的整數的和。

#include<stdio.h>

voidmain()

{inti,sum=0;

for(i=200;i<=400;i++)

if(i%5!=0)

sum=sum+i;

printf(',sum=%d\n',,sum);

19、從鍵盤輸入10個數,統計非正數的個數,并計算非正數的和

#include<stdio.h>

voidmain()

(inti,n=(),sum=();

inta[10];

printf(“請輸入10個數:〃);

for(i=0;i<10;i++)

scanf("%d〃,&a[i]);

for(i=0;i<10;i++)

if(a[i]<=0)

{sum=sum+a[i];

n++;}

printf("非正個數是%&sum=%d\n",n,sum);

)

20、輸入一串字符,將其中的大寫字母變成對應的小寫字母并輸出。

#include<stdio.h>

#include<string.h>

voidmain()

(inti,n;

chara[20];

printf("請輸入字符串巧;

gets(a);

n=strlen(a);

for(i=0;i<n;i++)

if(a[i]>='A'&&a[i]<=,Z,)

a[i]=a[i]+32;

for(i=0;i<n;i++)

printf("%cu,a[ij);

printfC^n");

)

21、打印所有的水仙花數。所謂水仙花數是指一個三位數,其各位數

字的立方和等于該數。例如,153就是一個水仙花數,因為

153=1*1*1+5*5*5+3*3*3。

#include<stdio.h>

voidmain()

{inia,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*l()()4-b*l()+c;

printf("%d\n",s);

)

}

)

)

22、一個皮球從100米高度自由落下,每次落地后反彈回原高度的一

半,再落下,再反彈。求當它第10次落地時,共經過了多少米,第

10次反彈多高?

#include<stdio.h>

voidmain()

{inti;

floatsum=l()().(),h=5();

for(i=2;i<=10;i+4-)

(

sum=sum+2*h;

h二h⑵

)

printf("%f,%f\n",sum,h);

)

23、輸出所有0?200之間能被3整除且個位數字為6的整數。

#include<stdio.h>

voidmain()

{

inti;

for(i=0;i<=200;i++)

if((i%3==0)&&((i-6)%10==0))

printf("%d\nH,i);

)

24、輸入一個正整數,輸出它的階乘。

#include<stdio.h>

voidmain()

{inti,J=l,n=10;

prinlfT請輸入一個正整數:〃);

scanfC%d〃,&n);

for(i=1;i<=n;i++)

J=J*i;

printf("%d的階乘是:%d\n”,n,J);

}

25、編寫程序,判斷從鍵盤輸入的字符中數字字符的個數、大寫字母

的個數、小寫字母的個數及其它字符的個數,以字作為字符輸入結束

志。

#include<stdio.h>

#include<string.h>

voidmain()

{inti,x,m=0,n=0,k=0,j=0;

chara[20J;

printf(”請輸入字符串:");

gets(a);

x=strlen(a);

for(i=0;i<x;i++)

(

if(a[i]==,*')break;

elseif(a[i]>=,0'&&a[i]<='9')

m++;

elseif(a[i]>=,A'&&a[i]<='Z,)

n++;

elseif(ali]>='a'&&a[ij<='z,)

k++;

else

j++;

}

printf(n%d,%d,%d,%d\nH,m,n,k,j);

)

26、編寫程序,使用循環結構輸出以下圖形:

****

****

****

****

****

#include<stdio.h>

voidmain()

{inti,j,k;

for(i=0;i<5;i++)

(

fbr(j=0;j<4-i;j++)

printf("n);

for(k=0;k<4;k++)

printf(,,*M);

printf("\nM);

printf(n\n");

27、輸入一串字符,逆序輸出。要求使用數組實現。

#include<stdio.h>

#include<string.h>

voidmain()

{int

chara[10];

printf("請輸入字符串:");

gets(a);

n=strlen(a);

for(i=0;i<n/2;i++)

(

t=afi];

a[i]=a[n-l-ij;

a[n-l-i]=t;

}

for(j=0;j<n;j++)

printf("%c”,a[j]);

printf(u\nn);

)

28、求1-1/2+1/3-1/4+...+1/99-1/100的值。

#include<stdio.h>

voidmain()

{intn,s=l;

floatsum=1.0;

for(n=2;n<=l00;n++)

(

s=-s;

sum=sum+1.0/n*s;

I

printfCl-1/2+1/3-1Z4+...+1/99-1Z100=%f\n",sum);

)

29、輸入3個學生4門課的成績{(60,70,65,75),

(75,80,75,90),(95,75,90,65)},計算每個學生的總分和平均成績并輸出,

結果保存一位小數。

#include<stdio.h>

voidmain()

{inta[3][4]={{60,70,65,75},{75,80,75,90},{95,75,90,65}};

inti,j;

floataverage,sum=0.();

prinlf("三個學生的總分和平均成績依次為:\n");

for(i=0;i<3;i++)

{sum=0.0;

for(j=0;j<4;j++)

sum=sum+a[i][j];

average=sum/4;

printf("%.2f,%.2f\n",sum,average);

}

)

30、求兩個正整數的最大公約數。

#include<stdio.h>

voidmain()

{intm,n,ml,nl,t,k;

printf(“請輸入兩個正整數:〃);

scanf("%d%d〃,&m,&n);

if(m<n)

{t=m;

m=n;

n=t;

)

ml=m;

nl=n;

while((k=m1%n1)!=0)

{ml=nl;

n1=k;

}

printf("%d和%(1最大公約數是:%d\n”,m,n,nl);

31、求100之內自然數中奇數之和。

#include<stdio.h>

voidmain()

{inti,sum=0;

for(i=0;i<=100;i++)

if(i%2!=0)

sum=sum+i;

printf(nsum=%d\nH,sum);

32、輸出所有200-400之間能被3整除且個位數字為7的整數。

#include<stdio.h>

voidmain()

inti;

for(i=200;i<=400;i++)

if((i%3==0)&&((i-7)%10==0))

printf(H%d\nH,i);

printf(u\n");

)

33、編程計算l*2*3+4*5*6+.??+97*98*99的值。

#include<stdio.h>

voidmain()

{

inti,n,sum=0;

for(i=l;i<=94;i=i+3)

sum=sum+i*(i+1)*(i+2);

printf("%d\nH,sum);

)

34、輸入n的值,計算并輸出l*l+2*2+3*3+4*4+5*5+.??+n*n的值。

要求編寫函數f求平方。

#include<stdio.h>

voidmain()

{inif(intx);

intn,sum;

printf("請輸n值:");

scanf(M%d",&n);

sum=f(n);

printf(n%d\n",sum);

)

intf(intx)

{intj,z=O;

for(j=l;j<=x;j++)

z=z+j*j;

returnz;

1

35、計算并輸出L200之間不能被3整除的整數的和。

#include<stdio.h>

voidmain()

{inti,sum=0;

for(i=l;i<=200;i++)

if(i%3!=0)

sum=sum+i;

printf("%d\n",sum);

)

36、輸入3個學生4門課的成績{(60,70,65,75),

(75,80,75,90),(95,75,90,65)},計算每個學生的總分和平均成績并輸出,

結果保存一位小數c

#include<stdio.h>

voidmain()

{inta[3][4]={{60,70,65,75},{75,80,75,90),f95,75,90,65}};

intij;

floataverage,sum=0.();

printf("二個學生的總分和平均成績依次為:\n”);

for(i=0;i<3;i++)

{sum=0.0;

for(j=0;j<4;j++)

sum=sum+a[il[j];

average=sum/4;

printf("%.lf,%.lf\n",sum,average);

)

)

37、輸入一個華氏溫度,輸出攝氏溫度,計算公式為c=5/9*(F?32)。

要求結果保存兩位小數。

#include<stdio.h>

voidmain()

{floatF,c;

prinlf(“請輸入一個華氏溫度:");

scanff%/,&F);

c=5.0/9*(F-32);

printf(n%.2f\n",c);

)

38、輸入任意三個數,按從大到小的順序輸出。

#include<stdio.h>

voidmain()

{inta,b,c,t;

printf("請輸入任意三個數:〃);

scanf("%d%d%d〃,&a,&b,&c);

if(a<b)

{t=a;

a=b;

b=t;

)

if(a<c)

{t=a;

a=c;

c=t;

}

if(b<c)

{t=b;

b=c;

c=t;)

printf(H%d,%d,%d\nn,a,b,c);

)

39、用1元人民幣兌換5分、2分、1分的硬幣共50枚,每種硬幣至

少一枚,問共有多少種兌換方案?輸出每一種方案中三種硬幣的數

量。

#include<stdio.h>

main()

{floatx=1.0;

floata=0.01,b=0.02,c=0.05;

inti,j,k;

intcount=();

printf(M1分,2分,5分張數依次為:\n");

for(i=l;i<100;i+4-)

for(j=1;j<50;j++)

for(k=l;k<20;k++)

if((i*a+j*b+k*c)==l&&i+j+k==50)

{primf("%d%d%d\n”,i,j,k);

count++;}

prinlf("共有%€1種方案\n”,count);

)

40、從鍵盤輸入圓的半徑,計算并輸出圓面積與周長,要求結果保存

兩位小數。

#include<stdio.h>

voidmain()

{intr;

floatpi=3.14159;

floatc,s;

printf(“請輸入半徑r:");

scanf("%d〃,&r);

s=pi*r*r;

c=2*pi*r;

printf("面積=%.2f,周長=%.2加”應(:);

41、從鍵盤輸入一個字符串,再輸入兩個正整數m和n,輸出字符

串中從m開始,連續n個字符。例如,輸入abcdefg,2,3,輸出

bcdo

#include<stdio.h>

#include<string.h>

voidmain()

{inti,m,n;

chara[20J;

printf("請輸入字符串

gets(a);

n=strlen(a);

printf("請輸入兩個正整數:");

scanf(M%d%d",&m,&n);

for(i=m-l;i<m+n-l;i++)

prinlf("%c”,a[i]);

printfC^n");

)

42、輸入一個不多于5位的正整數,判斷它是幾位數,并逆序輸出各

位數字。

#include<stdio.h>

voidmain()

{inta,b,c,d,e;

longx;

printf(“請輸入一個不多于5位的正整數:〃);

scanf("%d〃,&x);

a=x/10000;

b=x%10000/1000;

c=x%1000/100;

d=x%100/10;

e=x%10;

if(a!=O)prinif("它是5位數,%d,%d,%d,%d,%d\n",e,d,c,b,a);

elseif(b!=O)printf("它是4位數,%d,%d,%d,%d\n",e,d,c,b);

elseif(c!=O)printf(“它是3位數,%d,%d,%d\n",e,d,c);

elseif(d!=O)printf("它是2位數,%d,%d\nu,e,d);

elseprintf("它是1位數,%d\n",e);

)

43,輸出Fibonacci數列的前40項

#include<stdio.h>

voidmain()

{

inta[40]={l,l};

inti;

printf(H%12d%12d",a[0],a[l]);

for(i=2;i<40;i++)

(

if(i%4==0)

printfC^n");

afi]=ari-114-afi-2];

prinlf("%12d”,a[i]);

)

printf(n\nH);

44,判斷某一年是否是閏年

#include<stdio.h>

voidmain()

{

intyear,leap;

printf(“請輸入一個年份:〃);

scanf(u%d",&ycar);

if(year%4==0)

(

if(year%100=0)

{

if(year%400==0)

leap=l;

else

leap=0;

)

elseleap=l;

else

leap=O;

if(leap)

printf("%disaleapyear\n",year);

else

printf("%disnotaleapyear\n",year);

45,起泡法(選擇法)對十個數排序

#include<stdio.h>

voidmain()

(

int

inta[I()];

prints”請輸入10個數:\nu);

for(i=0;i<10;i++)

scanf(”%d”,&a[i]);

for(j=0;j<9;j++)

for(i=0;i<9-j;i+4-)

if(a[i]>a[i+l])

(

t=a[i];

a[i]=a[i+l];

a[i+l]=t;

)

for(i=0;i<10;i++)

printf("%d

printf(n\nH);

)

46,判斷某個數是否為素數.

#includc<stdio.h>

#include<math.h>

voidmain()

{

inti,m;

floatk;

printf("請輸入一個正整數:");

scanf("%d”,&m);

k=sqrt(m);

for(i=2;i<=k;i++)

if(m%i==0)break;

if(i>k)printf(M%disaprimenumber\n",m);

elseprintf("%disnotaprimenumber\n",m);

1

47,編程計算1!+2!+3!+…+10的值。

#include<stdio.h>

voidmain()

{inti,j,suml=l,sum=0;

for(i=l;i<=10;i++)

(

for(j=l;j<=i;j4-+)

suml=suml*j;

sum=sum+suml;

)

printf(nl!4-2!+3!+...+10!=%ld\n",sum);

(

48,求以下數列前十五項的和:2/1,3/2,5/3,8/5,13/8,21/13-o

#include<stdio.h>

voidmain()

{intn;

floata=2.0,sum=0.0,b=l.0,t;

for(n=1;n<=15;n++)

{sum=sum+a/b;

t=a;

a=a+b;

b=t;

1

printf(n%f\nn,sum);

)

49,從鍵盤輸入圓柱體高與底面半徑,計算并輸出圓柱體外表積與體

積,要求結果保存兩位小數。

#include<stdio.h>

voidmain()

(

inth,r;

floatpi=3.14159,s,v;

printf(“請輸入圓柱體半徑r和高h:〃);

scanff'%d%d〃,&r,&h);

s=2*pi*r*r+2*pi*r*h;

v=pi*r*r*h;

printf(,'s=%.2f,v=%.2f\n",s,v);}

50,從鍵盤輸入一個十進制整型數據,計算并輸出其各位上數字之和

(忽略正負號)。例如,輸入1234,輸出10;輸入?1234,輸出10。

#include<stdio.h>

#include<math.h>

voidmain()

{intil,i2,i3,i4,n,sum;

inta;

printf("請輸入一個整數:");

scanf("%d,r,&a);

n=abs(a);

il=n/1000;

i2=n%1000/100;

i3=n%10()/10;

i4=n%10;

sum=il+i2+i3+i4;

printf("sum=%d\n'\sum);}

51,銀行定期存款利率為r=2.25%,輸入存款本金x、存款年數n,輸

出本利之和y=x(l+r)(l+r).?.(l+r),共n個(1+r)。

#include<stdio.h>

voidmain()

{

floatx,y,r=0.0225;

inti,n;

printf(”請輸入存款本金x和存款年數n:");

scanf(n%f%d",&x,&n);

y=x;

for(i=l;i<=n;i++)

y=y*(l+r);

printf(M%f\nu,y);

1

52,編程判斷輸入的字符串是否為“回文”。所謂"回文”是指順讀

和倒讀都一樣,如abcbao

#include<stdio.h>

#include<string.h>

voidmain()

inti,n;

chara[20J;

printf(”請輸入字符串:");

gets(a);

n=strlen(a);

for(i=0;i<n;i++)

(

if(a[i]==a[n-i-1])

continue;

else

printf(M不是回文An");break;

)

if(i>=n)

printf("是回文.\n");

)

53、編寫程序,將用戶輸入的字符串中刪除所有的數字,然后輸出剩

余的字符。

#include<stdio.h>

voidmain()

{int

chara[2()l;

printf("請輸入字符串:");

gets(a);

nl=strlen(a);

for(i=0;i<nl;i+-t-)

if((a[il>=,0'&&a[i]<=,9,)==0)

printf("%c",a[i]);

printf("\n");

)

1.有一函數:當xvO時,y=-l;當x=0時,y=0;當x>0時,y=lo

編一程序,輸入x的值,輸出y的值。

#include<stdio.h>

intmain()

{

intx,y;

scanfC%d",&x);

if(x>=0)

if(x>0)y=l;

elsey=0;

elsey=-l;

printf("x=%d,y=%d\nH,x,y);

return0;

)

2.輸入三個實數,將這三個數按由大到小的順序排列,并輸出這三個

數。

#include<stdio.h>

intmain()

{floata,b,c,t;

scanf("%f,%f,%F',&a,&b,&c);

if(a<b)

{t=a;a=b;b=t;}

if(a<c)

{t=a;a=c;c=t;)

if(b<c)

{t=b;b=c;c=t;}

printf(0%5.2f,%5.2f,%5.2f\nH,a,b,c);

return0;

)

3.有三個整數a,b,c,由鍵盤輸入,輸出其中最大者。

#include<stdio.h>

intmain()

{inta,b,c,max;

printf("請輸入a,b,c\n");

scanf(M%d,%d,%d",&a,&b,&c);

max=a;

if(max<b)

max=b;

if(max<c)

max=c;

printf("最大的數的%d\n”,max);

return0;

)

4.編程求圓面積、圓周長。要求圓半徑由鍵盤輸入,輸出時要求有文

字說明,取小數點后兩位數字。

#include<stdio.h>

voidmain()

floatr,1,s;

floatpi=3.1415926;

printf("表輸入圓半徑r:");

scanf("%f,&r);

l=2*pi*r;

s=pi*r*r;

printf(“圓周長為:l=%6.2f\n",I);

printf("圓面積為:s=%6.2f\n",s);

)

5.有分段函數:當x<-10時,y=|x|+5;當-10WxW10時,y=4x-8;當x>10

時,y=sqrt(x)0

編一程序,輸入x的值,輸出y的值。

#include<stdio.h>

inimain()

(

intx,y;

scanf(u%d",&x);

if(x<-10)

y=abs(x)+5;

elseif(x<=10)

y=4*x-8;

elsey=sqrt(x);

printf(',x=%d,y=%d\n,\x,y);

return0;

)

6.編寫程序,判斷某一年是否是閏年。(閏年的條件是:能被4整除,

但是不能被100整除,或者可以被400整除。)

#include<stdio.h>

intmain()

{intyear,leap;

printf("enteryear:");scanf("%d'*,&year);

if(year%4==0)

if(year%100=0)

if(year%4(X)==0)leap=1;

elseleap=0;

elseleap=l;

elseleap=0;

if(leap)printf("%dis'year);

elseprintf("%disnotH,year);

printfC'aleapyearAn");

return0;

7.輸入一個華氏溫度,要求輸出攝氏溫度,輸出時要求有文字說明,

取小數點后兩位數字。公式為c=5/9(f?32)

#include<stdio.h>

intmain()

(

floatc,f;

printf("請輸入一個華氏溫度:”);

scanf("%f',&f);

c=(5.0/9.0)*(f-32);

printf("攝氏溫度為:%5.2f\nH,c);

return0;

)

8.有一函數:當x<l時,y=|x|;當l<=x<10時,y=2x-l;當x>=10

時,y=3x+llo編一程序,輸入x的值,輸出y的值。

#include<stdio.h>

#include<malh.h>

voidmain()

{

intx,y;

prinif(“輸入x:”);

scanf(M%d'\&x);

if(x<l)

y=abs(x);

elseif(x<10)

y=2*x-l;

else

y=3*x+l1;

printf("x=%3d,y=%d\n",x,y);

)

9.輸入三個實數,將這三個數按由小到大的順序排列,并輸出這三個

數。

main()

{inta,b,c,*ph*p2,*p3,t;

scanf(M%d,%d,%d",&a,&b,&c);

p1=&a;p2=&b;p3=&c;

if(*pl>*p2)

(t=pl:pl=p2;p2=t;l

if(*pl>*p3)

{t=pl;pl=p3;p3=t;)

if(*p2>*p3)

{t=p2;p2=p3;p3=t;}

printf("%d,%d,%d\nn,*p1,*p2,*p3);

)

10.輸入一個字符,判斷它是否是小寫字母,如果是,將它轉換成大

寫字母;如果不是,不轉換。然后輸出最后得到的字符。

#include<stdio.h>

voidmain()

{

charch;

scanf(M%c",&ch);

ch=(ch>='A'&&ch<='Z)?(ch+32):ch;

printf("%c\n”,ch);

)

IL編程求圓柱體積,圓柱外表積。要求圓半徑,圓柱高由鍵盤輸入,

輸出時要求有文字說明,取小數點后兩位數字。

#include<stdio.h>

voidmain()

{

floatr,h,v,s;

floatpi=3.1415926;

printf("表輸入圓半徑八圓柱高h:”);

scanf("%f%f,,&r,&h);

v=pi*r*r*h;

s=2*pi*r*r+2*pi*r*h;

prinlf("圓柱體積為:v=%6.2f\n",v);

primf("圓柱外表積為:s=%6.2f\n",s);

)

12.有分段函數:當xv?5時,y=x+10;當?5WxW5時,y=xA2;當x>5

時,y=2x-10.

編一程序,輸入x的值,輸出y的值。

#include<stdio.h>

intmain()

intx,y;

scanf(u%d",&x);

if(x<-5)

y=x+10;

elseif(x<=5)

y=xA2;

elsey=2*x-10;

printf(ux=%d,y=%d\nu,x,y);

return0;

)

13.有三個整數a,b,c,由鍵盤輸入,輸出其中最小者。

#include<stdio.h>

intmain()

{inta,b,c,max;

printf("請輸入a,b,c\n");

scanf(M%d,%d,%d",&a,&b,&c);

max=a;

if(max>b)

max=b;

if(max>c)

max=c;

printf("最小的數的%d\n",max);

return0;

)

14.輸入一個字符,判斷它是否是大寫字母,如果是,將它轉換成小

寫字母;如果不是,不轉換。然后輸出最后得到的字符。

#include<stdio.h>

voidmain()

{

charch;

scanf("%c",&ch);

ch=(ch>='A'&&ch<='Z)?(ch+32):ch;

pnntf(n%c\n'\ch);

15.輸入三角形的三邊長,求三角形面積。求三角形面積的公式為

area=sqrt(s(s-a)(s-b)(s-c)),其中s=(a+b+c)/2

#include<stdio.h>

#include<math.h>

voidmain()

(

floata,b,c,s,area;

scanf(M%f%f%f;&a,&b,&c);

s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf(n%f\n",area);

)

16.編程求2!+4!+6!+8!+10!的值,并輸出結果。

#include<stdio.h>

intmain()

{

intn=l,sum=(),j,m=l,i;

for(i=l;i<=5;i++){

m=1;

for(j=1;j<=2*i;j++)

sum=sum+m;

)

printf("sum=%d\n,,,sum);

return0;

)

17.猴子吃桃問題。猴子第一天摘下假設干個桃子,當即吃了一半,

還不過癮,又多吃了一個。

第二天早上又將剩下的桃子吃掉一半,又多吃一個。以后每天早上都

吃了前一天剩下的一半零一個。

到第10天早上想吃時就剩一個桃子了。求第一天共摘了多少個桃子。

#include<stdio.h>

intmain()

{

intday,xl,x2;

day=9;

x2=l;

while(day>0)

{x1=(x2+1)*2;

x2=xl;

day—;

1

printf("total=%d\n',.x1);

return0;

19.編程求1?100之間的所有素數,并輸出結果。

#include<stdio.h>

#include<math.h>

intmain()

(

intn,m=0,k,i;

for(n=1;n<=100;n=n+2)

{k=sqrt(n);

for(i=2;i<=k;i++)

if(n%i==0)break;

if(i>=k+l)

{printf("%d”,n);

m=m+1;

)

if(m%10=0)printf("\nu);

print-');

return0;

)

21.用pi/4^1?l/3+l/5?l/7+.?.公式求pi的近似值,直到某一項的絕對

值小于10的?6次方為止。

#includc<stdio.h>

#include<math.h>

intmain()

{intsign=1;doublepi=0,n=1,term=1;

while(fabs(term)>=le-6)

{pi=pi+term;

n=n+2;

sign=-sign;

term=sign/n;

pi=pi*4;

printf(upi=%10.8f\n",pi);

return0;

22.一個球從100m高度自由落下,每次落地后又反跳回原高度的一

半,再落下,再反彈。求它在第10次落地時共經過多少米?

#include<stdio.h>

intmain()

(

inti;

doublem=100,sum=0;

for(i=0;i<10;i++){

sum=sum+m;

m=m/2;

)

printf("%f\n'\sum);

return0;

)

23.輸入兩個正整數m和n,求其最大公約數和最小公倍數。

#include<stdio.h>

voidmain()

{

intp,r,n,m,tcmp;

printf(”請輸入n和m:”);

scanf(n%d,%d,%d",&n,&m);

if(n<m)

{

temp=n;

n=m;

m=temp;

1

p=n*m;

while(m!=0)

(

r=n%m;

n=m;

m=r;

1

printf(M:%d\n",n);

printf(n:%d\nM,p/n);

24.利用循環,編程求1!+2!+3!+…+10!的值,并輸出結果。

#include<stdio.h>

intmain()

(

intn=l,sum=0,j,m=l,i;

for(i=l;i<=10;i++){

m=l;

for(j=l;j<=iy++)

m=m*j;

sum=sum4-m;

)

printf(Hsum=%d\n'\sum);

return0;

(

25.有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13??????,求出這個數列前20

項之和。

#include<stdio.h>

intmain()

{

inii,n=20;

doublea=2,b=l,s=0,t;

for(i=l;i<=n;i++)

(

s=s+a/b;

t=a,

a=a+b,b=t;

)

printf('181101=%16.l()f\n",s);

return0;

)

26.求Fibonacci數列前40個數。這個數列有以下特點:第1和第2

個數為L從第3個數開始,該數是其前面兩個數之和。

#include<stdio.h>

intmain()

{intfl=l,f2=l,f3;inti;

printf(n%12d\n%12d\n",f1,f2);

for(i=l;i<=38;i++)

{f3=fl+f2;

printf(n%12d\n",f3);

fl=f2;

f2=f3;

)

return0;

)

27.一個數如果恰好等于它的因子之和,這個數就稱為完數。例如,6

的因子為1、2、3,而6=1+2+3,因此6是完數。編程求1000以內

所有完數。

#include<stdio.h>

intrnain()

(

int

for(m=2;m<1000;m++)

{s=0;

for(i=l;i<m;i++)

if((m%i)==0)s=s+i;

if(s==m)

{printf("%d,itsfactorsare",m);

for(i=l;i<m;i++)

if(m%i=0)printf(M%d”,i);

printfC,\nu);

}

)

return0;

1

28.求S=a+aa+aaa+...+aa...a(n個a)之值。其中a是一個數字,n代表

a的位數。例如:2+22+222+2222+22222(此時n為5),n由鍵盤輸

入。

#include<stdio.h>

intmain()

I

inta,sn=0,tn=0,k,i=l,n;

printf("a,n=:");

scanf("%d,%dM,&a,&n);

whilc(i<=n)

tn=tn+a;

sn=sn+tn;

a=a*10;

++i;

1

printf("a+aa+aaa+...=%d\nH,sn);

return0;

)

30.輸入一行字符,分別統計出其中英文字母、空格、數字和其他字

符的個數。

#include<stdio.h>

voidmain()

(

charc;

iniietlers=0,space=0,digit=0,other=0;

printf(M\n");

whilc((c=getchar())!='\n')

{

if(c>='a,&&c<'z'||c>=,A,&&c<='Z')

letters++;

elseif(c=='')

space++;

elseif(c>='0'&&c<=,9,)

digit++;

else

other++;

1

prinlf(":%d\n:%d\n:%d\n:%d\n"Jetters,space,digit,other);

}

31.將一個數組中的值按逆序重新存放。例如,原來順序為8,6,4,

3,2,0o要求改為0,2,3,4,6,8。

#include<stdio.h>

#defineN6

voidmain()

{

inta[N],i,temp;

printf("enterarraya:\n");

for(i=0;i<N;i++)

scanf("%d",&a[i]);

printf("arraya:\nM);

for(i=0;i<N;i4-+)

printf("%4dM,a[i]);

for(i=0;i<N/2;i++)

(

tcmp=a[i];

afi]=a[N-i-1];

a[N-i-l]=temp;

)

printf(',\nNow,arraya:\nn);

for(i=0;i<N;i++)

printfC

溫馨提示

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

評論

0/150

提交評論