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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

計(jì)算機(jī)C語言編程題庫

1、求100之內(nèi)自然數(shù)中最大的能被17整除的數(shù)。

#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位整數(shù),求當(dāng)三位整數(shù)abc、cba的和為1333時(shí)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、計(jì)算并輸出200-400之間不能被3整除的整數(shù)的和。

#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個(gè)數(shù),統(tǒng)計(jì)非負(fù)數(shù)的個(gè)數(shù),并計(jì)算非負(fù)數(shù)的和。

#include<stdio.h>

voidmain()

{inti,n=0,sum=0;

inta[l()];

printf(“請輸入10個(gè)數(shù):〃);

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("非負(fù)個(gè)數(shù)是%&sum=%d\n,,,n,sum);

)

5、求100之內(nèi)自然數(shù)中偶數(shù)之和。

#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個(gè)數(shù),求和并輸出。要求編寫求和的函數(shù)。

#include<stdio.h>

voidmain()

{intb(intx[],intn);

intsum=0;

inta[5];

inti;

printf(”請輸入5個(gè)數(shù)

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、編程計(jì)算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、編寫程序,將一個(gè)一維數(shù)組的元素逆序存放并輸出。例如,原順

序?yàn)?,2,3,4,5,逆序后為5,4,3,2,1。

#include<stdio.h>

voidmain()

{inti;

inta[5];

printf(“請輸入5個(gè)數(shù):〃);

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、編程判斷輸入的整數(shù)的正負(fù)性和奇偶性。如果為正數(shù),輸出Z;

如果為負(fù)數(shù),輸出f;如果為偶數(shù),輸出。;如果為奇數(shù),輸出j

#include<stdio.h>

voidmain()

{inta;

printf(“請輸入一個(gè)數(shù):〃);

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、計(jì)算并輸出1?200之間不能被5整除的整數(shù)的和。

#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的值,計(jì)算a+aa+aaa+...+aa...a(n個(gè)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個(gè)數(shù),求它們中最大值和平均值并輸出。

#include<stdio.h>

voidmain()

{

inta[5];

inti,j,max,sum=O;

floataverage;

printf(”請輸入5個(gè)數(shù):");

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整除且個(gè)位數(shù)字為6的整數(shù)。

#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、計(jì)算并輸出20(1-400之間不能被7整除的整數(shù)的和。

#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.計(jì)算并輸出200-400之間不能被5整除的整數(shù)的和。

#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個(gè)數(shù),統(tǒng)計(jì)非正數(shù)的個(gè)數(shù),并計(jì)算非正數(shù)的和

#include<stdio.h>

voidmain()

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

inta[10];

printf(“請輸入10個(gè)數(shù):〃);

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("非正個(gè)數(shù)是%&sum=%d\n",n,sum);

)

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

#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、打印所有的水仙花數(shù)。所謂水仙花數(shù)是指一個(gè)三位數(shù),其各位數(shù)

字的立方和等于該數(shù)。例如,153就是一個(gè)水仙花數(shù),因?yàn)?/p>

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、一個(gè)皮球從100米高度自由落下,每次落地后反彈回原高度的一

半,再落下,再反彈。求當(dāng)它第10次落地時(shí),共經(jīng)過了多少米,第

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整除且個(gè)位數(shù)字為6的整數(shù)。

#include<stdio.h>

voidmain()

{

inti;

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

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

printf("%d\nH,i);

)

24、輸入一個(gè)正整數(shù),輸出它的階乘。

#include<stdio.h>

voidmain()

{inti,J=l,n=10;

prinlfT請輸入一個(gè)正整數(shù):〃);

scanfC%d〃,&n);

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

J=J*i;

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

}

25、編寫程序,判斷從鍵盤輸入的字符中數(shù)字字符的個(gè)數(shù)、大寫字母

的個(gè)數(shù)、小寫字母的個(gè)數(shù)及其它字符的個(gè)數(shù),以字作為字符輸入結(jié)束

志。

#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、編寫程序,使用循環(huán)結(jié)構(gòu)輸出以下圖形:

****

****

****

****

****

#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、輸入一串字符,逆序輸出。要求使用數(shù)組實(shí)現(xiàn)。

#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個(gè)學(xué)生4門課的成績{(60,70,65,75),

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

結(jié)果保存一位小數(shù)。

#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("三個(gè)學(xué)生的總分和平均成績依次為:\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、求兩個(gè)正整數(shù)的最大公約數(shù)。

#include<stdio.h>

voidmain()

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

printf(“請輸入兩個(gè)正整數(shù):〃);

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最大公約數(shù)是:%d\n”,m,n,nl);

31、求100之內(nèi)自然數(shù)中奇數(shù)之和。

#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整除且個(gè)位數(shù)字為7的整數(shù)。

#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、編程計(jì)算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的值,計(jì)算并輸出l*l+2*2+3*3+4*4+5*5+.??+n*n的值。

要求編寫函數(shù)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、計(jì)算并輸出L200之間不能被3整除的整數(shù)的和。

#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個(gè)學(xué)生4門課的成績{(60,70,65,75),

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

結(jié)果保存一位小數(shù)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("二個(gè)學(xué)生的總分和平均成績依次為:\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、輸入一個(gè)華氏溫度,輸出攝氏溫度,計(jì)算公式為c=5/9*(F?32)。

要求結(jié)果保存兩位小數(shù)。

#include<stdio.h>

voidmain()

{floatF,c;

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

scanff%/,&F);

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

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

)

38、輸入任意三個(gè)數(shù),按從大到小的順序輸出。

#include<stdio.h>

voidmain()

{inta,b,c,t;

printf("請輸入任意三個(gè)數(shù):〃);

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枚,每種硬幣至

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

量。

#include<stdio.h>

main()

{floatx=1.0;

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

inti,j,k;

intcount=();

printf(M1分,2分,5分張數(shù)依次為:\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、從鍵盤輸入圓的半徑,計(jì)算并輸出圓面積與周長,要求結(jié)果保存

兩位小數(shù)。

#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加”應(yīng)(:);

41、從鍵盤輸入一個(gè)字符串,再輸入兩個(gè)正整數(shù)m和n,輸出字符

串中從m開始,連續(xù)n個(gè)字符。例如,輸入abcdefg,2,3,輸出

bcdo

#include<stdio.h>

#include<string.h>

voidmain()

{inti,m,n;

chara[20J;

printf("請輸入字符串

gets(a);

n=strlen(a);

printf("請輸入兩個(gè)正整數(shù):");

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

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

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

printfC^n");

)

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

位數(shù)字。

#include<stdio.h>

voidmain()

{inta,b,c,d,e;

longx;

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

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位數(shù),%d,%d,%d,%d,%d\n",e,d,c,b,a);

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

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

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

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

)

43,輸出Fibonacci數(shù)列的前40項(xiàng)

#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(“請輸入一個(gè)年份:〃);

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,起泡法(選擇法)對十個(gè)數(shù)排序

#include<stdio.h>

voidmain()

(

int

inta[I()];

prints”請輸入10個(gè)數(shù):\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,判斷某個(gè)數(shù)是否為素?cái)?shù).

#includc<stdio.h>

#include<math.h>

voidmain()

{

inti,m;

floatk;

printf("請輸入一個(gè)正整數(shù):");

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,編程計(jì)算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,求以下數(shù)列前十五項(xiàng)的和: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,從鍵盤輸入圓柱體高與底面半徑,計(jì)算并輸出圓柱體外表積與體

積,要求結(jié)果保存兩位小數(shù)。

#include<stdio.h>

voidmain()

(

inth,r;

floatpi=3.14159,s,v;

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

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,從鍵盤輸入一個(gè)十進(jìn)制整型數(shù)據(jù),計(jì)算并輸出其各位上數(shù)字之和

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

#include<stdio.h>

#include<math.h>

voidmain()

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

inta;

printf("請輸入一個(gè)整數(shù):");

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、存款年數(shù)n,輸

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

#include<stdio.h>

voidmain()

{

floatx,y,r=0.0225;

inti,n;

printf(”請輸入存款本金x和存款年數(shù)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、編寫程序,將用戶輸入的字符串中刪除所有的數(shù)字,然后輸出剩

余的字符。

#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.有一函數(shù):當(dāng)xvO時(shí),y=-l;當(dāng)x=0時(shí),y=0;當(dāng)x>0時(shí),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.輸入三個(gè)實(shí)數(shù),將這三個(gè)數(shù)按由大到小的順序排列,并輸出這三個(gè)

數(shù)。

#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.有三個(gè)整數(shù)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("最大的數(shù)的%d\n”,max);

return0;

)

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

字說明,取小數(shù)點(diǎn)后兩位數(shù)字。

#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.有分段函數(shù):當(dāng)x<-10時(shí),y=|x|+5;當(dāng)-10WxW10時(shí),y=4x-8;當(dāng)x>10

時(shí),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.輸入一個(gè)華氏溫度,要求輸出攝氏溫度,輸出時(shí)要求有文字說明,

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

#include<stdio.h>

intmain()

(

floatc,f;

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

scanf("%f',&f);

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

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

return0;

)

8.有一函數(shù):當(dāng)x<l時(shí),y=|x|;當(dāng)l<=x<10時(shí),y=2x-l;當(dāng)x>=10

時(shí),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.輸入三個(gè)實(shí)數(shù),將這三個(gè)數(shù)按由小到大的順序排列,并輸出這三個(gè)

數(shù)。

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.輸入一個(gè)字符,判斷它是否是小寫字母,如果是,將它轉(zhuǎn)換成大

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

#include<stdio.h>

voidmain()

{

charch;

scanf(M%c",&ch);

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

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

)

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

輸出時(shí)要求有文字說明,取小數(shù)點(diǎn)后兩位數(shù)字。

#include<stdio.h>

voidmain()

{

floatr,h,v,s;

floatpi=3.1415926;

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

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.有分段函數(shù):當(dāng)xv?5時(shí),y=x+10;當(dāng)?5WxW5時(shí),y=xA2;當(dāng)x>5

時(shí),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.有三個(gè)整數(shù)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("最小的數(shù)的%d\n",max);

return0;

)

14.輸入一個(gè)字符,判斷它是否是大寫字母,如果是,將它轉(zhuǎn)換成小

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

#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!的值,并輸出結(jié)果。

#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.猴子吃桃問題。猴子第一天摘下假設(shè)干個(gè)桃子,當(dāng)即吃了一半,

還不過癮,又多吃了一個(gè)。

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

吃了前一天剩下的一半零一個(gè)。

到第10天早上想吃時(shí)就剩一個(gè)桃子了。求第一天共摘了多少個(gè)桃子。

#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之間的所有素?cái)?shù),并輸出結(jié)果。

#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的近似值,直到某一項(xiàng)的絕對

值小于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.一個(gè)球從100m高度自由落下,每次落地后又反跳回原高度的一

半,再落下,再反彈。求它在第10次落地時(shí)共經(jīng)過多少米?

#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.輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。

#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.利用循環(huán),編程求1!+2!+3!+…+10!的值,并輸出結(jié)果。

#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.有一分?jǐn)?shù)序列:2/1,3/2,5/3,8/5,13/8,21/13??????,求出這個(gè)數(shù)列前20

項(xiàng)之和。

#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數(shù)列前40個(gè)數(shù)。這個(gè)數(shù)列有以下特點(diǎn):第1和第2

個(gè)數(shù)為L從第3個(gè)數(shù)開始,該數(shù)是其前面兩個(gè)數(shù)之和。

#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.一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為完數(shù)。例如,6

的因子為1、2、3,而6=1+2+3,因此6是完數(shù)。編程求1000以內(nèi)

所有完數(shù)。

#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個(gè)a)之值。其中a是一個(gè)數(shù)字,n代表

a的位數(shù)。例如:2+22+222+2222+22222(此時(shí)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.輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其他字

符的個(gè)數(shù)。

#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.將一個(gè)數(shù)組中的值按逆序重新存放。例如,原來順序?yàn)?,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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論