C語言平臺答案_第1頁
C語言平臺答案_第2頁
C語言平臺答案_第3頁
C語言平臺答案_第4頁
C語言平臺答案_第5頁
已閱讀5頁,還剩90頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1:求1到n累加和(10分)

輸入一個整數(shù)n,求1+2+3+……+n累加和。

輸入格式:輸入一個整數(shù)。

輸出格式:輸出l~n累加和。

輸入樣例:在這里給出一組輸入。比如:5

輸出樣例:在這里給出對應(yīng)輸出。比如:15

#include"stdio.h"

main()

int

scanf("%d"/&n);

t=0;

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

t=t+i;

printf("%d",t);

2:求三角形面積(10分)

輸入三角形三邊長,求其面積。

輸入格式:在一行中輸入能夠組成三角形3個實數(shù),3個數(shù)之間用逗號間隔。

輸出格式:對每一組輸入,在一行中輸出面積值,結(jié)果保留兩位小數(shù),沒有附加字符。

輸入樣例:3,3,3

輸出樣例:3.90

#include"stdio.h"

#include"math.h"

main()

(

floata,b,c,s,w;

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

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

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

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

}

3:分段函數(shù)1(12分)

計算分段函數(shù),測試數(shù)據(jù)分別是-2、3、7。

1x+l[x<0

f=<2x+l0&W5

sinx+5x>5

I

輸入格式:輸入一個數(shù)

輸出格式:輸出*=多少,y=多少,輸出x和y值均保留兩位小數(shù)

輸入樣例:-3

輸出樣例:x=-3.00,y=2.00

include"stdio.h"

include"math.h"

main()

(

floatx,y;

scanf("%f'z&x);

if(x<0)y=fabs(x+l);

elseif(x>5)y=sin(x)+5;

elsey=2*x+l;

printf("x=%.2ty=%.2f"/x/y);

)

4:斐波那契(Fibonacci)數(shù)列前20項。

#include"stdio.h"

main()

(

longinta[20]={l,l};

inti;

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

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

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

printf(”%8d”,a[i]);

)

5:求l?3+5........-99+101值。

#include"stdio.h"

#include"math.h"

main()

(

inti,n,s;

i=l;

s=l;

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

s=s+pow(-l,i++)*n;

i++;

printf("s=%d"/s);

}

6:求l*2+2*3+-+20*21值。

#include"stdio.h"

main()

inti,nzt;

n=0;

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

(

t=i*(i+l);

n=n+t;

)

printf("%d",n);

)

7:各位數(shù)字之和(10分)

求任一正整數(shù)各位數(shù)字之和。

輸入格式:輸入一個正整數(shù)。

輸出格式:輸出整數(shù)各個位數(shù)字之夭口結(jié)果。

#include"stdio.h"

main()

inti,k=lzn,s/nc=l/ni,sum=O;

scanf("%d",&n);

intjzt=l;

for(i=l;n/t>=10;i++)

(

k+=l;

t*=10;

}

s=n;

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

(

s=n/nc;

ni=s%10;

sum+=ni;

nc*=10;

)

printf(”%d,sum);

}

8:輾轉(zhuǎn)相除法求最大條約數(shù)。

#include"stdio.h"

main()

{

intnjm;

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

r=m%n;

while(r!=O)

(

m=n;

n=r;

r=m%n;

)

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

}

9:猜算式?2*7?=3848中數(shù)字(10分)

算式:?2*7?=3848中缺乏一個十位數(shù)和一個個位數(shù)。編程求出使該算式成立時這兩個數(shù),

并輸出正確算式。

輸出格式:在一行中輸出A2*B7=C值。

include<stdio.h>

main()

(

inti,j,A,B;

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

(

A=i*10;

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

(

B=j;

jf(3848==(A+2)*(B+70))

,,

printf(%d2*7%d=3848"/ij);

)

)

)

10:輸出各位數(shù)字之和能被15整除全部數(shù)(10分)

輸出100到1000之間各位數(shù)字之和能被15整除全部數(shù),輸出時每5個一行,每個數(shù)輸出

占4列列寬。

輸出格式:在每行中輸出5滿足要求數(shù)值,每個數(shù)輸出占4列列寬。

#include"stdio.h"

main()

{

intn,i=0,a,b,c,m;

for(n=100;n<=999;n++)

(

a=n/100;

b=n/10%10;

c=n%10;

m=a+b+c;

if(m%15==0)

printf("%4d,n);

i++;

if(i%5==0)

printf("\n");

)

}

}

11:求l!+3!+5!+.....+n!(10分)

求l!+3!+5!+....+n!和,要求用循環(huán)嵌套設(shè)計,n<12o

輸入格式:輸入在一行中給出一個不超出12正整數(shù)no

輸出格式:在一行中按照格式“n=n值,s=階乘和"次序輸出,其中階乘和是正整數(shù)。

include<stdio.h>

main()

inti,t,n,k=lzs=O;

scanf("%d"#&n);

if(n<12)

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

(

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

k=t*k;

s=k+s;

k=l;

)

printf("n=%d,s=%d",n,s);}

)

12:打印等腰三角形圖形

$

$$$

$$$$$

$$$$$$$

$$$$$$$$$

第一行圖形符號前面有4個空格。

輸出格式似等腰三角形格式輸出5行由節(jié)“符號組成三角圖形,每個夕符號占固定1位,第

一行””符號前有4個空格。

ttinclude<stdio.h>

main()

{

intij;

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

(

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

printff"");

for(j=l;j<=2*i-l;j++)

printf("$");

printfC'Xn");

13:打印倒直角三角形圖形(10分)

請編程序打印以下列圖形。

$$$$$

$$$$

$$$

$$

$

第一行圖形符號前面有1個空格。

輸出格式:以倒直角三角形格式輸出5行由節(jié)”符號組成三角圖形,每個節(jié)”符號占固定1位,

第一行第一個巧'符號前有1個空格。

#include<stdio.h>

main()

inti,j;

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

(

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

printf("");

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

printf("$");

printf("\n");

)

)

14:打印平行四邊形圖形(10分)

請編程序打印以下列圖形。

$$$$$

$$$$$

$$$$$

$$$$$

$$$$$

第一行圖形符號前面有1個空格

輸出格式:

以平行四邊形格式輸出5行由節(jié)”符號組成圖形,每個節(jié)“符號占固定1位,第一行第一個節(jié)“

符號前有1個空格。

include<stdio.h>

main()

(

intij;

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

(

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

printf("");

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

printf("$");

printfC'Xn");

}

15:打印出以下列圖案(菱形)

*

***

*****

*******

*****

***

?

第一行圖形符號前面有5個空格

輸出格式:以菱形格式輸出7行由乘號組成圖形,每個乘號占固定1位,第一行乘號前有5

個空格。

#include"stdio.h"

main()

inti,j;

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

(

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

printfC*");

for(j=l;j<=2*i-l;j++)

printf("*");

printf("\n");

)

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

(

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

printf("");

for(j=l;j<=7-2*i;j++)

printf("*");

printf("\n");

)

}

16:打印直角九九乘法表(10分)

輸出直角九九乘法口訣,輸出效果如樣例。

輸出格式:以左下直角格式輸出九九乘法表,每個式子按"a*b=c”形式輸出,其中a和b各

占1位列寬,c占3位列寬并左對齊。

輸出樣例:

1*1=1

2*1=22*2=4

3*1=33*2=63*3=9

4*1=44*2=84*3=124*4=16

5*1=55*2=105*3=155*4=205*5=25

6*1=66*2=126*3=186*4=246*5=306*6=36

7*1=77*2=147*3=217*4=287*5=357*6=427*7=49

8*1=88*2=168*3=248*4=328*5=408*6=488*7=568*8=64

9*1=99*2=189*3=279*4=369*5=459*6=549*7=639*8=729*9=81

#include"stdio.h"

main()

(

intij;

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

(

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

,

printf("%d*%d=%-3d/i,jj*j);

printf("\n");

)

)

17:求1!+2!+........+n!

#include"stdio.h"

main()

intn,s,i,m;

scanf("%d",&n);

s=l;

m=0;

if(n>=l&&n<12)

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

(

s=s*i;

m=m+s;

)

printf("m=%d",m);

}

18:統(tǒng)計80到90分人數(shù)(10分)

輸入若干學(xué)生成績,以負數(shù)結(jié)束輸入。計算全部學(xué)生平均成績并統(tǒng)計成績在80到90分(不

含90)之間人數(shù)。

輸入格式:在一行輸入幾個百分制實型成績,數(shù)據(jù)之間以一個空格間隔,輸入負數(shù)結(jié)束輸入。

輸出格式:在一行中按照“2曠2=平均分,n=人數(shù)”次序輸出結(jié)果,其中平均分要求保留兩位

小數(shù),人數(shù)是正整數(shù)。

#include"stdio.h"

main()

(

inta,i,s=O,n=O;

floatave;

scanf("%d",&a);

for(i=0;a>0;i++)

(

s=s+a;

if(a>=80&&a<90)

n++;

scanf(”%d”,&a);

)

ave=s*1.0/i;

printf("ave=%0.2f,n=%d",ave,ni;

}

19:3個數(shù)字構(gòu)數(shù)(10分)

用0-9之間不一樣3個數(shù)組成一個3位數(shù),統(tǒng)計出共有多少種方法。

輸出格式:按照“count=結(jié)果”格式輸出,結(jié)果為整數(shù),不加寬度控制。

#include"stdio.h"

main()

(

intcount,i,n=0,a,b,c;

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

(

a=i%10;

b=i/10%10;

c=i/100;

if(a!=b&&b!=c&&a!=c)

n++;

)

printf("count=%d"/n);

}

20:Ji/4^1-l/3+l/5.......求打(10分)

用公式弘/4g1-1/3+1/5.......求Ji近似值,要求直到最終一項絕對值小于0.000001為止。

輸出格式:按照“pi=結(jié)果”次序輸出,其中結(jié)果輸出格式寬度為10列,并保留4位小

#include"stdio.h"

#include"math.h"

main()

{

intp=l;

floatsum=0,s=l,k=l;

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

(

sum=sum+s;

P=-P;

k=k+2;

s=p*1.0/k;

}

sum=sum*4;

printf("pi=%.4f"/sum);

)

21:統(tǒng)計兩整數(shù)間被3整除數(shù)個數(shù)(10分)

輸入兩個整數(shù),nl,n2(要求nl<n2),統(tǒng)計兩整數(shù)范圍內(nèi)被3整除數(shù)個數(shù)。

輸入格式:在一行輸入2個整數(shù)。兩個整數(shù)之間用一個空格間隔

輸出格式:按照“a=nl,b=n2,n=個數(shù)”次序輸出。其中nl,n2和個數(shù)輸出格式均為原樣輸出,

不加寬度控制。

#include"stdio.h"

main()

(

inti,nl,n2,n=0;

scanf("%d%d",&nl,&n2);

if(nl<n2)

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

if(i%3==0)

n++;

printf("a=%d/b=%d/n=%d"/nl/n2,n);

)

22:各位數(shù)字平方和(10分)

程序功效是輸入一個長整數(shù),求各位數(shù)字平方和s。假如輸入是負數(shù),求其相反數(shù)各位數(shù)字

平方和。比如:輸入-123,輸出14o

輸入格式:直接輸入一個長整數(shù)。

輸出格式:按照“sum=s”格式輸出,其中各位數(shù)字平方和s原樣輸出,不加寬度控制。

#include"stdio.h"

#include"math.h"

intmain(void)

(

intn,s,k,t;

scanf("%d",&n);

if(n>0)

s=O;k=n;

while(k!=O)

(

t=k%10;

s=s+t*t;

k=k/10;

)

if(n<0)

n=fabs(n);

s=O;k=n;

while(k!=O)

(

t=k%10;

s=s+t*t;

k=k/10;

)

printf("sum=%d"/s);

return0;

)

23:交換a和b值(10分)

交換變量a,b值,如輸入a值為1,b值為5,則輸出a值為5,b值為1。

輸入格式:輸入兩個整數(shù),之間用一個空格間隔。

輸出格式:在一行中按照“a=x,b=y”格式輸出,其中x和y均是原樣輸出,不加寬度控制。

#include"stdio.h"

main()

(

inta,b,t;

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

(

t=a;

a=b;

b=t;

)

,,

printf(a=%d/b=%d",a/b);

)

24:華氏溫度轉(zhuǎn)化為攝氏溫度(10分)

將華氏溫度轉(zhuǎn)化為攝氏溫度(下式中c表示攝氏溫度,f表示華氏溫度)。c=5/9(f-32)

輸入格式:直接輸入一個實數(shù),沒有其它任何附加字符。

輸出格式:在一行中按照“c=結(jié)果”次序輸出,結(jié)果為保留2位小數(shù)實數(shù),沒有其它任何附

加格式控制。

include"stdio.h"

main()

(

float£c;

scanf("%f",&f);

printf("c=%.2f"/c=5*(f-32)/9);

)

25:求n!

#include"stdio.h"

main()

intn,t,i;

t=l;

scanf("%d",&n);

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

t=t*i;

printf("%d",t);

)

26:10個數(shù)最大值

#include"stdio.h"

main()

(

intmax,i,n;

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

scanf(“%d”,&n);

if(n>=max)

max=n;

)

printf("max=%d",max);

)

27:[1,40]能被3整除數(shù)

#include"stdio.h"

main()

(

intn;

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

if(n%3==0)

printf("%4d",n);

28:[1,100]能被3整除數(shù)和

#include"stdio.h"

main()

(

intn,t;

t=0;

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

if(n%3==0)

t=t+n;

'"

printf(%4d"/t);

)

29:[1,100]能被3整除數(shù)個數(shù)

#include"stdio.h"

main()

intn,t;

t=0;

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

if(n%3==0)

t++;

printf("%d",t);

)

30:求1到6階乘和.

#include"stdio.h"

main()

(

inti,n=l;

floats=0;

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

s=s+n;

)

printf("jiecheng=%.6f"/s);

)

31輸入10個無序整數(shù),用選擇法對10個整數(shù)按升序排序。注意:要求排序只排3輪。

#include"stdio.h"

main()

(

inta[10];

inti,b,min,j,k;

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

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

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

(

k=i;

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

if(a[j]<a[k])k=j;

if(k!=i)

b=a[i];

a[i]=a[k];

a[k]=b;

)

)

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

printf("%5d,a[i]);

)

32對n個整數(shù)組成一維數(shù)組按逆序重新存放并輸出(n<10)。

#include"stdio.h"

main()

(

inta[80]zb[80];

inti,n;

scanf("%d",&n);

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

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

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

(

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

printf("%4d",b[i]);

)

return0;

)

33:對n個整數(shù)組成一維數(shù)組用次序法按從小到大排序后輸出(4<n<10),要求排序只排3

輪。

#include"stdio.h"

main()

(

inta[10];

inti,n,t,j,k;

scanf("%d",&n);

if(n>4&&n<10)

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

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

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

(

k=i;

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

if(aU]<a[k])k=j;

if(k!=i)

(

t=a[i];

a[i]=a[k);

a[k]=t;

)

)

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

printf("%5d",a[i]);

return0;

)

34:在一維數(shù)組中有10個整數(shù),求出其中能被5整除全部數(shù)和。

#include"stdio.h"

main()

{

inta[10],s=0J;

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

(

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

if(a[i]%5==0)

s=s+a(i];

)

printf(”%d”,s);

}

35:在一個已按升序排列數(shù)組中插入一個數(shù),插入后,數(shù)組元素仍按升序排列,已知升序數(shù)

組{1,2,4,6,8,9,12,15,149,156}<

#include"stdio.h"

main()

{

inta[ll]={l,2,4,6,8,9,12,15,149,156};

inti,num,j;

scanf("%d",&num);

if(num>a[9])

a[10]=num;

else

(

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

if(num<a[i]){

for(j=9;j>=i;j-)

a[j+l]=a[j];

a[i]=num;

break;

)

)

for{i=0;i<ll;i++)

printf(“%5d”,a[i]);

)

36:有一數(shù)組內(nèi)放5個整數(shù),要求找出第一次出現(xiàn)最小數(shù)和它下標,然后把它和數(shù)組中最前

面元素即第一個數(shù)對換位置。

#include"stdio.h"

main()

(

inta[5];

inti,min,t,p;

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

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

min=a[O];

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

(

if(a[i]<min)

(

min=a[i];

P=i;

)

)

t=a[O];

a[O]=a[p];

a[p]=t;

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

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

printf("\n");

printf("min=%d,weizhi=%d",min,p);

37:產(chǎn)生并輸出以下形式方陣。

1222221

3122214

3312144

3331444

3315144

3155514

1555551

#include"stdio.h"

main()

(

inta[7][7];

intij;

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

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

if(i==j||j+i==6)

if(i<j&&i+j<6)a川3=2;

if(i<j&&i+j>6)

if(i>j&&i+j>6)a[i]U]=5;

a[i]D]=3;

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

(

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

printf("\n");

)

}

39:將一個3X3矩陣轉(zhuǎn)置(即行和列交換)。

#include"stdio.h"

main()

(

intb[9La[3][3];

intij;

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

scanf("%d"z&b[i]);

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

(

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

(

aO][i]=bU+i*3];

printf("%4d"/a[j][i]);

)

printf("\n");

)

40:打印n行楊輝三角,n<10。

#include"stdio.h"

main()

(

inti,j,n;

inta[31][31]={0};

scanf(”%d”,&n);

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

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

(

if(j==O||j==i)a[i]U]=l;

elsea[i][j]=a[i-l][j-l]+a[i-l]O];

)

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

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

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

printf("\n");

)

return0;

)

41:連接兩個字符串,不允許使用strcat函數(shù)。

#include"stdio.h"

#include"string.h"

main()

{

chara[20]zb[20];

intij;

gets(a);

gets(b);

i=0;

while(a[i]!='\O,)

i++;

j=0;

while(b[j]!='\O,)

(

a[i]=bU];

i++;

j++;

)

a[i]='\O';

puts(a);

)

42:分別統(tǒng)計一個字符串中出現(xiàn)小寫字母、大寫字母、數(shù)字和空格個數(shù)。

#include"stdio.h"

main()

chara[40];

inti,p=O,b=O,c=O,d=O;

gets(a);

for(i=0;a[i]!='\0';i++)

(

if(a[i]>='a'&&a[i]<=,z,)p++;

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

if(a[i]>='0'&&a[i]<='9,)C++;

if(a[i]=='')d++;

)

printf(“小寫字母=%d\n”,p);

printf("大寫字母=%d\n”,b);

printf("數(shù)字=%d\n”,c);

printf("空格=%5己,可;

}

43:從鍵盤輸入一個字符串,再輸入兩個整數(shù)m和n,將字符串從下標為m字符開始n個

字符復(fù)制到另一個字符數(shù)組中。

#include"stdio.h"

main()

(

charsl[20],s2[20];

inti,n,m,j=O;

gets(sl);

,

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

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

(

s2[j]=sl[i];

j++;

)

s2U]='\0';

puts(s2);

}

44:將一個字符串中字符逆序存放。如字符串為"abcde",則逆序存放后應(yīng)為“edcba”。

#include"stdio.h"

#include"string.h"

main()

(

charsl[80],s2[80];

inti,k;

gets(sl);

k=strlen(sl);

for(i=0;sl[i]!='\0';i++)

s2[i]=sl[k-l-i];

s2[i]='\0';

puts(s2);

)

45:將一個字符串中全部數(shù)字字符刪掉。

#include"stdio.h"

main()

(

chara[80],b[40];

inti,j=O;

gets(a);

for(i=0;a[i]!='\0';i++)

if(a[i]<'0'||a[i]>'9')

(

bUJ=a[i];

j++;

)

bU]='\O';

puts(b);

46:刪除字符串中指定字符,字符串和要刪除字符均由鍵盤輸入。

#include"stdio.h"

main()

(

chara[80],b[40]zc;

inti,j=O;

gets(a);

c=getchar();

for(i=0;a[i]!='\0';i++)

if(a[i]!=c)

(

bD]=a[i];

j++;

)

bU]='\O';

puts(b);

47:將一個字符串中前n個字符復(fù)制到一個字符數(shù)組中去,n值小于字符串實際長度,不許

使用strcpy函數(shù)。

#include"stdio.h"

main()

(

charsl[80]zs2[80];

inti,n;

gets(sl);

scanf("%d",&n);

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

s2[i]=sl[i];

s2[i]='\0';

puts(s2);

}

48:打印水仙花數(shù)。水仙花數(shù)是一個三位數(shù),其各位數(shù)字立方和與原數(shù)相等。

#include"stdio.h"

main()

inti,n,a,b,c;

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

(

a=i%10;

b=i/10%10;

c=i/100;

n=a*a*a+b*b*b+c*c*c;

if(n==i)

printf("%5d,i);

)

printf("\n");

)

49:編程求出廣20之間奇數(shù)之和,偶數(shù)之積。

#include"stdio.h"

main()

ints=O,i;

doublet=l;

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

(

if(i%2==0)

t=t*i;

else

s=s+i;

)

printf("s=%d/t=%.OIf"zszt);

}

50:統(tǒng)計100以內(nèi)各位數(shù)字之和為5自然數(shù)個數(shù)。

#include"stdio.h"

intmain(void)

intn,s,k,count=0;

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

(

s=O;k=n;

while(k!=O)

(

s=s+k%10;

k=k/10;

)

if(s!=5)continue;

elsecount++;

)

printf("%d",count);

return0;

)

51:從鍵盤輸入一個任意正整數(shù)判斷其是否為素數(shù),若為素數(shù)則輸出“YES”,不然輸出“NO”。

#include"stdio.h"

main()

(

intnJ;

scanf("%d",&n);

if(n>l)

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

if(n%i==O)break;

if(n==i)printf("YES");

elseprintf("NO");

)

52:編程求出大于m最小素數(shù)。

#include"stdio.h"

#include"math.h"

main()

intm,i,k=O,x;

scant("%d",&m);

for(i=m+l;k==0;i++)

(

for(x=2;x<=sqrt(i);x++)

if(i%x==O)

break;

if(x>sqrt(i))

{k=l;

printf(”%d,i);

)

)

)

53:求Sn=a+aa+aaa+...+aa...a之值,其中a是一個數(shù)字。比如:2+22+222+2222(此時n=4),

n由鍵盤輸入。

#include"stdio.h"

main()

inta,n,sn=O,i,t;

scanf("a=%d/n=%d"/&a/&n);

t=a;

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

(

sn=sn+a;

a=a*10+t;

)

printf(”%d”,sn);

}

54:求出以下分數(shù)序列前20項之和。

2/1+3/2+5/3+8/5+13/8+21/13,

#include"stdio.h"

main()

inta=l,b=2,n,t;

doubles=0;

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

(

s=s+b*1.0/a;

t=b;

b=a+t;

a=t;

)

printf("%.2f"/s);

)

55:輸入一個年份,判斷其是否為閏年,若是閏年輸出“yes”信息,不然輸出“no”信息。

#include"stdio.h"

main()

inta;

scanf("%d",&a);

if(a%4==0&&a%100!=0||a%400==0)

printf("yes");

else

printf("no");

}

56:任意輸入10個整數(shù),求其中偶數(shù)之積

#include"stdio.h"

main()

{

inta,i,s=l;

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

(

scanf(”%d”,&a);

if(a%2==0)s=s*a;

)

printf(”%d”,s);

)

57:計算數(shù)列第n項。

ai=l3a2=l/(l+ai),a3=l/(l+a2)5-5an=l/(l+an.i)

#include"stdio.h"

main()

(

intnJ;

floata=l;

scanf("%d",&n);

if(n==l)a=l;

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

a=1.0/(a+l);

printf("%f",a);

)

58:求出100?200之間全部素數(shù),每行輸出8個數(shù),每個數(shù)寬度為5歹h

#include"stdio.h"

#include"math.h"

main()

{

intn,i,k,p=0;

for(n=100;n<=200;n++)

(

k=sqrt(n);

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

if(n%i==0)break;

if(i>k)

(

printf("%5d",n);

P++;

if(p%8==0)printf("\n');

}

)

)

59:求出200以內(nèi)各位數(shù)字之和為9全部數(shù)平均值。

#include"stdio.h"

intmain(void)

(

intn,s,k,count=0,sum=0;

floatave;

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

(

s=0;k=n;

while(k!=0)

s=s+k%10;

k=k/10;

)

if(s!=9)continue;

else{sum=sum+n;count++;}

)

ave=sum*1.0/count;

printf(”%.2f”,ave);

return0;

)

60:輸入n,然后求以下表示式值。

111

S=1++?+,

l+2l+2+31+2+-+n

#include"stdio.h"

main()

intn,sum=l,i;

floats=0;

scanf("%d",&n);

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

(

s=s+1.0/sum;

sum=sum+i;

)

printf("%f"/s);

|

61:一個數(shù)組有8個元素,將前3個元素經(jīng)過移動串到后3個位置上,假如其初始數(shù)據(jù)為:

12345678不增加數(shù)組,也不增加數(shù)組存放單元,經(jīng)過移動數(shù)組元素將數(shù)組改變?yōu)椋?5

678123

#include"stdio.h"

main()

(

inta[8],b[8];

inti;

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

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

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

(

if(i<3)

b[i+5]=a[i];

else

b[i-3]=a[i];

)

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

printf("%3d"zb[i]);

)

62:找出含有10個元素一維數(shù)組中最大值和最小值,并交換這兩個數(shù)位置。

#include"stdio.h"

main()

inta[10];

inti,max,min,t,k,p;

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

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

min=a[O];

max=a[O];

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

(

if(a[i]>max)

(

max=a[i];

k=i;

)

if(a[i]<min)

(

min=a[i];

P=i;

)

)

printf("max=%d/min=%d"/max,min);

printf("\n");

t=a[p];

a[p]=a[k];

a[k]=t;

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

printf("%5d"za(i]);

)

63:用數(shù)組存放并輸出Fibonacci數(shù)列前20項,按5個一行輸出,

11235

813213455

89144233377610

9871597258441816765

#include"stdio.h"

main()

(

longinta[20]={l,l};

inti,n=0;

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

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

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

(

printf("%10d"za[i]);

n++;

if(n%5==0)printf("\n");

)

)

64:一個數(shù)列前三個數(shù)是0、0、1,以后每個數(shù)都是前三個數(shù)和,編程求改數(shù)列前20項,

并按每行4個數(shù)格式輸出。

0011

24713

244481149

2745049271705

313657681060919513

#include"stdio.h"

main()

longinta[20]={0,0zl};

inti,n=0;

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

a[i]=a[i-l]+a[i-2]+a[i-3];

)

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

printf(”%10d",a「]);

n++;

if(n%4==0)printfC'Xn");

)

65:輸入10個正整數(shù)到a數(shù)組中,求a數(shù)組中素數(shù)平均值。

#include"stdio.h"

main()

inta[10];

intiJzp=0,s=0;

floatave;

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

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

if(a[il>l)

for(j=2;j<a[i];j++)

if(a[i]%j==O)break;

if(j==a[i])

{s=s+a[i];p++;}

)

)

ave=s*1.0/p;

printf("%.2f",ave);

)

66:輸入一個4X4數(shù)組,求一個4X4數(shù)組左下三角(包含主對角線)元素和。

輸入格式:輸入4行4列方陣,每行第一個數(shù)前沒有空格,每行每個數(shù)之間各有一個空格。

#include"stdio.h"

main()

inta[4][4];

intiJ,s=O;

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

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

(

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

if(j<=i)s=s+a[i][j];

)

printf("%d",s);

)

67:求一個3X4數(shù)組中大于等于平均值全部數(shù)組元素和,并統(tǒng)計滿足條件元素個數(shù)。本題

中平均值為小數(shù),用到其余全部變量均為整型。

#include"stdio.h"

main()

(

inta[3][4];

intij/sum=O,n=O,p=O,s=O;

floatave;

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

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

(

scanfC^d';&aliJO]);

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

P++;

)

ave=sum*1.0/p;

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

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

(

s=$+a[i][j];

n++;

)

printf("s=%dzn=%d",s/n);

68:求一個5X5方陣主對角線元素和以及副對角線元素積。

#include"stdio.h"

main()

(

inta[5][5);

inti,j/s=O/t=l;

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

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

(

if(i==j)s=s+a[i][j];

if(i+j==4)t=t*a[i][j];

)

printf("s=%d,t=%d"/s/t);

)

69:求一個4X5數(shù)組周圍元素累加和。

#include"stdio.hn

main()

{

inta[4][5];

inti,j,s=O;

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

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

(

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

if(i==0||j==0||i==3||j==4)

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

)

printf(”%d”,s);

)

70:從鍵盤上輸入若干(<20)個學(xué)生成績,統(tǒng)計計算出平均成績,并輸出低于平均分學(xué)生

成績,用輸入負數(shù)結(jié)束輸入。

#include"stdio.h"

main()

(

inti,s=0,n=0;

floatave,a[19];

i=0;

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

while(a[i]>0)

(

?=s+a[i];

i++;

)

ave=s*1.0/i;

printf("ave=%0.2f\n",ave);

for(i=0;a[i]>0;i++)

if(a[i]<ave)printf(”%6.1f”,a[i]);

)

71:把一個字符串中大寫字母改成小寫字母,其余字符不變。

#include"stdio.h"

main()

(

charsl[80];

inti;

gets(sl);

for(i=0;sl[i]!='\0';i++)

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

sl[i]=sl[i)+32;

puts(sl);

72:將字符串中每一個數(shù)字字符都替換成一個$字符。

#include"stdio.h"

main()

(

chara[80];

inti;

gets(a);

for(i=0;a[i]!='\0';i++)

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

a[i]='$';

puts(a);

}

73:.刪除一個字符串中下標為偶數(shù)全部字符,將剩下字符組成一個新串輸出。

#include"stdio.h"

main()

chara[20],b[10];

inti,j=O;

gets(a);

for(i=0;a[i]!='\0';i++)

if(i%2!=0)

(

b[j]=a[i];

j++;

)

b[j]=W;

puts(b);

)

74:把一個字符串中全部字符按從小到大排序。

#include<stdio.h>

intmain()

{chars[100],*p,*pl,*p2,c;

gets(s);〃讀取字符串

for(p=s;*p;p++);〃求得串長,p指向、O'

P-;〃冒泡排序外循環(huán)終點

for(pl=s;pl<p;pl++,p--)〃此二重循環(huán)為冒泡排序

for(p2=s;p2<p;p2++)

if(*p2>*(p2+l))

{c=*p2;*p2=*(p2+l);*(p2+l)=c;}

puts(s);

return0;

)

75:將s所指字符串反序和正序進行連接形成一個新串放在t所指數(shù)組中。

#include"stdio.h"

#include"string.h"

main()

chara[20],b[40);

inti,t,k,j;

gets(a);

k=strlen(a);

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

b[i]=a[k-l-i];

b[i…;

i=0;

while(b[i]!='\O')

i++;

j=0;

while(a(j]!='\O')

(

b[i]=a[j];

i++;j++;

)

b[i]='\O';

puts(b);

76:將10個數(shù)中全部偶數(shù)除以2,全部奇數(shù)乘以2后輸出這些數(shù)值。

#include"stdio.h"

main()

(

inta[10];

inti;

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

(

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

if(a[i]%2==0)

a[i]=a[i]*1.0/2;

elsea[i]=a[i]*2;

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

printf(”%4d”,a[i]);

77:求一個5X5數(shù)組右上三角(含對角線)元素和。

#indude"stdio.h"

main()

(

inta[5][5];

inti,j/s=O;

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

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

(

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

if(j>=i)s=s+a[i][j);

)

printf("%d”,s);

)

78:求5X5數(shù)組除了四條邊框之外元素和。

#include"stdio.h"

main()

(

inta[5][5];

inti,j,s=O;

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

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

(

溫馨提示

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

評論

0/150

提交評論