C語(yǔ)言課后作業(yè)50(附參考答案)_第1頁(yè)
C語(yǔ)言課后作業(yè)50(附參考答案)_第2頁(yè)
C語(yǔ)言課后作業(yè)50(附參考答案)_第3頁(yè)
C語(yǔ)言課后作業(yè)50(附參考答案)_第4頁(yè)
C語(yǔ)言課后作業(yè)50(附參考答案)_第5頁(yè)
已閱讀5頁(yè),還剩91頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1.輸入一個(gè)不超過(guò)五位的正整數(shù),輸出其逆數(shù)。例如輸入12345,輸出應(yīng)為54321。

#include<stdio.h>

main(){

ints[5];

intn,j;

printf("請(qǐng)輸入一個(gè)正的五位數(shù)");

scanf("%d",&n);

s[0]=n%10;

printf("%d"zs[0]);

s[l]=(n%100-s[0])/10;

printf("%d",s[1]);

s[2]=(n%1000-s[0]-s[1])/100;

printf("%d",s[2]);

s[3]=(n%10000-s[0]-s[1]-s[2])/1000;

printf("%d",s[3]);

s[4]=(n%100000-s[0]-s[1]-s[2]-s[3])/10000;

printf("%d"zs[4]);

printf("輸出逆轉(zhuǎn)后的5位數(shù)");

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

printf("%d",s[j]);

)

)

2.計(jì)算l+2+3...+n的值,n是從鍵盤輸入的自然數(shù)。

#include<stdio.h>

main(){

intn;

inti;

printf("請(qǐng)輸入一個(gè)自然數(shù):;

scanf("%d",&n);

i=n*(n+1)/2;

printf("輸出1-n的自然數(shù)之和:%d\n",i);

)

3.從終端(鍵盤)讀入20個(gè)數(shù)據(jù)到數(shù)組中,統(tǒng)計(jì)其中正數(shù)的個(gè)數(shù),

并計(jì)算這些正數(shù)之和。

#include<stdio.h>

#definenaxxlO

main()

{

ints[naxx];

inta[naxx];

inti=O;

intj=0;

intl=O;

intsum=O;

intk;

printf("請(qǐng)輸入:");

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

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

)

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

{if(s[j]>0)

{a[1]=s[j];

sum+=a[1];

1++;

)

)

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

{printf("%ci\n"za[i]);}

printf("輸入數(shù)之和%d\n”,sum);

)

4.從終端(鍵盤)將5個(gè)整數(shù)輸入到數(shù)組a中,然后將a逆序復(fù)制

到數(shù)組b中,并輸出b中各元素的值。

#include<stdio.h>

#definenaxx5

main()

inti=0;

intj=0;

intk=0;

ints[naxx];

inta[naxx];

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

{

s[i]=i;

printf("%d\nn,s[i]);

)

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

{

a[j]=s[i-1];

j++;

printf("%d",a[j-1]);

)

}

5.要將5張100元的大鈔票,換成等值的50元,20元,10元,5

元一張的小鈔票,每種面值至少1張,編程求的需要多少?gòu)埣垘拧?/p>

#include<stdio.h>

#definemoney500

main()

inti,k;

intj,1;

printf("輸出結(jié)果:\n");

for(i=50+(money%50);i<money;i+=50)

for(j=20;(money%50==0)j<i-15:j<=i-15;j+=20)

for(k=10;k<i-j;k+=l0)

{printf("%d張50%d張20%d張10%d張

5\n",(money-i)/50,j/20,k/10,(i-j-k)/5);

}

)

)

)

6.求n以內(nèi)(不包括n)同時(shí)能被3和7整除的所有自然數(shù)之和的

平方根s,n從鍵盤輸入。例如若n為1000時(shí)一,函數(shù)值應(yīng)為:

s=153.909064。

#include<stdio.h>

#include<math.h>

main()

inti;

intn=l;

intsum=O;

printf("輸入——個(gè)〉21的數(shù):");

scanf(n%dn,&n);

if(n>21)

{n——;

for(;n>=21;n--)

if(n%3==0&&n%7==0)

printf(n%d",n);

sum+=n;

i=sqrt(sum);

)

}

printf("\n");

}

else{

printf("輸入錯(cuò)誤:\n");}

)

7.一輛卡車違反交通規(guī)則,撞人后逃跑?,F(xiàn)場(chǎng)有三人目擊事件,但

都沒(méi)有記住車號(hào),只記下車號(hào)的一些特征。甲說(shuō):牌照的前兩位數(shù)字

是相同的;乙說(shuō):牌照的后兩位數(shù)字是相同的,但與前兩位不同;丙

是數(shù)學(xué)家,他說(shuō):四位的車號(hào)剛好是一個(gè)整數(shù)的平方。請(qǐng)根據(jù)以上線

索找出車號(hào)。

#include<stdio.h>

main()

inti;

intj;

inta,b,c,d;

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

{

j=i*i;

a=j%10;

b=(j%100-a)/IO;

c=(j%1000-a-b)/1OO;

d=j/1000;

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

{printf("輸出牌號(hào):%d\n",j);}

)

)

8.輸入之間的一個(gè)數(shù)字,輸出它對(duì)應(yīng)的英文單詞。

#include<stdio.h>//第八題:

#include<stdlib.h>

#include<math.h>

main(){

intq;

intt;

,,,,,,,

charm[10]={'a',b'z'c,ci'ze','f'zg','h'z'i,j

');

//printf("%c",m[2]);

printf("請(qǐng)輸入l-10\n");

scanf("%d",&q);

t=q-l;

printf(n%d對(duì)應(yīng)的字母是:%c\n",q,m[t]);

)

9.個(gè)位數(shù)為6且能被3整除但不能被5整除的三位自然數(shù)共有多少

個(gè),分別是哪些?

#include<stdio.h>//第九題

#include<stdlib.h>

#include<math.h>

main()

inti;

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

if(i%10==6)

if(i%3==0)

if(i%5!=0)

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

)

}//printf("%d\n",i);

//continue;

)

)

}

10.輸入某年某月某日,判斷這一天是這一年的第幾天?

#include<stdio.h>//第十題

#include<stdlib.h>

#include<math.h>

main(){

inty,m,d;

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

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

switch(m){

easel:

printf("是今年的%d^\n",d);

break;

case2:

printf("是今年的%d天\n”,d+31);

break;

case3:

printf("是今年的%d天\n”,d+31+29);

break;

case4:

printf("是今年的%d天\n",d+31+29+31);

break;

case5:

printf("是今年的%d天\n”,d+31+29+31+30);

break;

case6:

printf("是今年的%d天\n”,d+31+29+31+30+31);

break;

case?:

printf("是今年的%d^\n",d+31+29+31+30+31+30);

break;

case8:

printf("是今年的%(1天\11",d+31+29+31+30+31+31+31);

break;

case9:

printf("是今年的%d^\n",d+31+29+31+30+31+31+31+31);

break;

caselO:

printf("是今年的%d天

\n",d+31+29+31+30+31+31+31+31+30);

break;

casell:

printf("是今年的%d天

\n",d+31+29+31+30+31+31+31+31+30

+31);

break;

casel2:

printf("是今年的%d天

\n",d+31+29+31+30+31+31+31+31+30

+31+30);

break;

)

}else{

switch(m){

easel:

printf("是今年的%d天\n",d);

break;

case2:

printf("是今年的%d天\n”,d+31);

break;

case3:

printf("是今年的%d天\n”,d+31+28);

break;

case4:

printf("是今年的%d天\n”,d+31+28+31);

break;

case5:

printf("是今年的%(1天\11",d+31+28+31+30);

break;

case6:

printf("是今年的%d天\n”,d+31+28+31+30+31);

break;

case7:

printf("是今年的%d天\n”,d+31+28+31+30+31+30);

break;

case8:

printf("是今年的%d天\n”,d+31+28+31+30+31+31+31);

break;

case9:

printf("是今年的%d天\n”,d+31+28+31+30+31+31+31+31);

break;

caselO:

printf("是今年的%d天

\n"^+31+28+31+30+31+31+31+31+30);

break;

casell:

printf("是今年的%d天

\n",d+31+28+31+30+31+31+31+31+30

+31);

break;

casel2:

printf("是今年的%d天

\n",d+31+28+31+30+31+31+31+31+30

+31+30);

break;

}

)

}

11.兩個(gè)乒乓球隊(duì)進(jìn)行比賽,各出三人。甲隊(duì)為a,b,c三人,乙隊(duì)

為x,y,z三人。已抽簽決定

比賽名單。有人向隊(duì)員打聽(tīng)比賽的名單。a說(shuō)他不和x比,c說(shuō)他不

和x,z比,請(qǐng)編程序找出三隊(duì)賽手的名單。

#include<stdio.h>

intmain(){

chari;

charj;

chark;

for(i=*x*;i<=*z*;i++)

(

for(j=,x*;j<=,z*;j++)

(

if(i!=j)

{

for(k=*x';k<=*y*;k++)

if(i!=k&&j!=k)

if(i!=,x'&&k!=,x,&&k!='z')

printf("a-->%c\nb-->%c\nc--〉%c”,i,j,k);

)

)

)

)

}

)

returnO;

)

12.有5個(gè)人坐在一起,問(wèn)第五個(gè)人多少歲?他說(shuō)比第4個(gè)人大2

歲。問(wèn)第4個(gè)人歲數(shù),他說(shuō)比第3個(gè)人大2歲。問(wèn)第三個(gè)人,又說(shuō)

比第2人大兩歲。問(wèn)第2個(gè)人,說(shuō)比第一個(gè)人大兩歲。最后問(wèn)第一

個(gè)人,他說(shuō)是10歲。請(qǐng)問(wèn)第五個(gè)人多大?

#include<stdio.h>

intfac(intn);

intmain()

inta=5;

printf("di5gerendedesuishushi%d\n",fac(a));

returnO;

)

intfac(intn)

if(n==l)

returnlO;

)

else

return2+fac(n-1);

)

13.輸入某三角形的三個(gè)邊的長(zhǎng)度,判斷出這是個(gè)什么三角形(等腰、

等邊、任意,或不能構(gòu)成)。

#include<stdio.h>

intmain()

inta,b,c;

printf("pleaseenterabc\n");

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

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

if((a+b<=c)||(a-b>=c))

printf("bunenggouchengsanjiaoxing\n");

}

elseif(a==b&&b==c)

printf("dengbiansanjiaoxing\n");

returnO;

)

14.輸入10個(gè)數(shù),分別統(tǒng)計(jì)其中正數(shù)、負(fù)數(shù)、零的個(gè)數(shù)。

#include"stdio.h"

main()

inta[10],i;

sl=O;

s2=0;

s3=0;

printf(”請(qǐng)輸入10個(gè)數(shù):\n");

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

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

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

if(a[i]<0)

sl++;

if(a[i]==0)

s2++;

if(a[i]>0)

s3++;

}

printf("負(fù)數(shù)為%d個(gè),零為%d個(gè),正數(shù)為%(1個(gè)“,sl,s2,s3);

)

15.先隨機(jī)產(chǎn)生N個(gè)三位自然數(shù)輸出,然后再輸出其中同時(shí)是3、5、

7倍數(shù)的數(shù)。(設(shè)N為100)

#include"stdio.h"

#include"time.h"

main()

inta,c,n;

srand((unsigned)time(NULL));

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

c=rand()%1000;

if(c>=l00&&c%3==0&&c%5==0&&c%7==0)

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

)

)

)

16.用for編程找出100~200中的完全平方數(shù)。

#include<stdio.h>

intmain()

inti=10;

intb;

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

b=i*i;

if(b<=200&&b>=100)

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

)

)

returnO;

)

17.從終端輸入三個(gè)正實(shí)數(shù),判斷這三個(gè)數(shù)能否構(gòu)成直角三角形。

#include"stdio.h"

main()

inta,b,c;

printf("請(qǐng)輸入三個(gè)正實(shí)數(shù):\n");

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

if(a*a+b*b==c*c)

printf("這是直角三角形!\n");

else

printf("不構(gòu)成直角三角形!\n");

18.輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其它

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

#include<stdio.h>

intmain()

into;

intnword=0;

intnspace=O;

intnother=0;

intnnum=0;

while((c=getchar())!=EOF)

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

nword++;

}

elseif(c〉='0*&&c<=*9*)

nnum++;

}

elseif(c==**)

nspace++;

}

else

nother++;

}

)

printf("space:%d\n",nspace);

printf("num:%d\n",nnum);

printf("other:%d\n",nother);

printf("word:%d\n",nword);

returnO;

)

19.輸入一個(gè)字串,判斷它是否是對(duì)稱串。如“abcdcba〃是對(duì)稱串,

不是。

#include<stdio.h>

intpanduan(char*s);

intmain()

chars[500];

printf("pleaseenterastring:\n");

scanf("%s",s);

panduan(s);

returnO;

}

intpanduan(char*s)

char*p=s;

char*q=s;

while(*q!='\0')

q++;

)

q一;

while((q-p)>1)

if(*p!=*q)

printf("buduichen!\n");

returnl;

}

q——;

p++;

printf("duichen");

returnO;

20.隨機(jī)產(chǎn)生N個(gè)大寫字母輸出,然后統(tǒng)計(jì)其中共有多少個(gè)元音字符。

(設(shè)N為50)

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

#defineNlO

intisyuan(chars);

intmain()

chars[N];

inti;

intcount=0;

charzimubiao*G',

1!1

'H','I,J','K,'L','M'z'N','O','P','Q','S','

T\

'U','V','W,'X','Y','Z');

srand(time(NULL));

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

s[i]=zimubiao[rand()%26];

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

printf(n%c",s[i]);

printf("\n");

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

if(isyuan(s[i]))

count++;

}

}

printf(ngongyouyuanyin%dge\n",count);

returnO;

)

intisyuan(chars)

intj;

charyuanyinbiao[]={*A*,*E*,*1*,'O',*U*};

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

if(s==yuanyinbiao[j])

returnl;

}

)

returnO;

)

21.找出三位自然數(shù)中的所有素?cái)?shù),要求判斷x素?cái)?shù)用自定義函數(shù)

data(x)實(shí)現(xiàn)。

#include<stdio.h>

intdata(intx);

intmain()

inti;

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

if(data(i))

printf("%dshisushu\nn,i);

}

)

returnO;

)

//sushufanhuil,bushifanhuiO.

intdata(intx)

intj;

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

if((x%j)==0)

returnO;

}

)

returnl;

)

22.輸出n行由''#〃組成的矩形,每行的個(gè)數(shù)為m個(gè),其中n、m

由終端(鍵盤)輸入。要求輸出m個(gè)〃功能由函數(shù)satr(m)函數(shù)

實(shí)現(xiàn)。

#include<stdio.h>

voidsatr(intm);

intm,n;

intmain()

printf("qingshurumndezhi:\n");

scanf(n%dn,&m);

scanf("%d",&n);

satr(m);

returnO;

}

voidsatr(m)

inti,j;

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

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

printf("#");

}

printf("\n");

)

)

23.若ax2+bx+c=0有實(shí)根,則求之。

#include<stdio.h>

#include<math.h>

intmain()

floata,b,c,disc,xl,x2,p,q;

scanf("a=%f,b=%f,c=%f",&a,&bz&c);

disc=b*b-4*a*c;

if(disc<0)

printf("meiyoushigen");

)

else

p=-b/(2*a);

q=sqrt(disc)/(2*a);

xl=p+q;x2=p-q;

printf("\nxl=%5.2f\nx2=%5.2f\n",xl,x2);

}

returnO;

)

24.從鍵盤輸入兩個(gè)字串,判斷它們是否相同。

#include<stdio.h>

intpanduan(char*,char*);

intmain()

chars[500];

chart[500];

printf("qingshurulianggezifuchuan\n");

scanf(n%s",s);

scanf("%s",t);

panduan(s,t);

returnO;

}

intpanduan(char*s,char*t)

while(*s!='\01)

if(*s++!=*t++)

printf(Hbuxiangtong\n");

returnl;

}

)

if(*t!='\0')

printf("buxiangtong\n");

returnl;

)

else

printf("xiangtong\n");

returnO;

)

)

25.從鍵盤輸入兩個(gè)字串,輸出其中較短的那個(gè)字串,并輸出它的長(zhǎng)

度。

26.從鍵盤輸入長(zhǎng)度不等的兩個(gè)字串,將短串連接于長(zhǎng)串之后輸出。

27.從鍵盤輸入長(zhǎng)度不等的兩個(gè)字串,將長(zhǎng)串連接于短串之后輸出。

/*#include<stdio.h>//M25,26,27,29題

main(){

charsl[100];

chars2[100];

inti=O;

intj=0;

printf("請(qǐng)輸入第1個(gè)字符串:\n");

scanf("%s"f&sl[i]);

printf(”請(qǐng)輸入第2個(gè)字符串:\n");

scanf("%s",&s2[j]);

while(si[i]!='\0'){

i++;

)

while(s2[j]!='\0'){

j++;

}

if(i<j){

printf("長(zhǎng)度短的是第一"個(gè)字符串:%s\n",si);

printf(”短的在前長(zhǎng)的在后組成一個(gè)字符串

是:%s%s\n",slAs2);

printf(”長(zhǎng)的的在前短的的在后組成一個(gè)字符串

是:%s%s\n",s2,si);

}

if(i>j){

printf("長(zhǎng)度短的是第一個(gè)字符串:%s\n",s2);

printf(”長(zhǎng)的的在前短的的在后組成一個(gè)字符串

是:%s%s\n",si,s2);

printf(”短的在前長(zhǎng)的在后組成一個(gè)字符串

是:%s%s\n",s2,si);

)

}*/

28.隨機(jī)產(chǎn)生N個(gè)兩位自然數(shù),降序排列后輸出。(設(shè)N為20)

/*#include<stdio.h>//第28題隨機(jī)數(shù)

#include<stdlib.h>

#include<math.h>

main(){

intizj,n,t,u,tt;

inta[20],b[20];

int*p;

srand((unsigned)time(NULL));

for(n=0;n<20;n++){

t=rand()%90+10;

a[n]=t;

//printf("%d",a[n]);

)

p=a;

printf("");

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

for(j=i;j<20;j++){

if(a[i]<a[j]){

tt=a[i];

a[i]=a[j];

a[j]=tt;

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

}

}printf("%d\n",a[i]);

//printf("%d\n",a[i]);

)

}

29.從鍵盤輸入兩個(gè)字串,輸出其中較長(zhǎng)的那個(gè)字串,并輸出它的長(zhǎng)

度。

30.從鍵盤輸入10個(gè)戰(zhàn)士的身高,輸出平均身高,并找出哪些身高

低于平均身高。

31.從鍵盤輸入10個(gè)戰(zhàn)士的身高,輸出平均身高,并找出哪些身高

高于平均身高。

32.從鍵盤輸入10個(gè)戰(zhàn)士的身高,輸出最高、最低的身高。

/*#inc1ude<stdio.h>//身高303132題

#include<stdlib.h>

#include<math.h>

main(){

inti,j,ttzsum=0;

intp;

inta[1000];

printf(“請(qǐng)輸入10個(gè)人的身高:\n");

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

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

//printf("%d\n"za[i]);

)

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

sum=sum+a[j];

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

)

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

p=sum/10;

printf("平均身高是:%d\n",p);

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

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

if(a[i]<a[j]){

tt=a[i];

a[i]=a[j];

a[j]=tt;

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

)

}

//printf;

}

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

if(a[i]<p)

printf("小于平均身高的是犯"",a[i]);

)

elseif(a[i]==p)

printf("等于平均身高的是%€1"",且[:1]);

)

else

printf("大于平均身高的是%(1"",a[i]);

}

printf("最高的是%d\n",a[0]);

printf("最愛(ài)的是%d\n”,a[9]);

}

*/

33.''百錢百雞〃問(wèn)題。百錢買百雞,雞翁一值錢三,雞母一值錢二,

雞雛三值錢一,問(wèn)雞翁、雞母、雞雛各幾何?

/*#include<stdio.h>//第33題

#include<stdlib.h>

#include<math.h>

main(){

intxj,mj,gj,x,m,g;

for(xj=0;xj<100;xj++){

for(mj=0;mj<100;mj++){

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

if((xj+mj+gj==100)&&(xj+mj*6+gj*9==300)){

printf("小雞:%d母雞:%d公雞:%d\n",xj,mj,gj);

//x=xj;g=gj;m=mj;

}

)

}

//printf("小雞:%d母雞:%d公雞:%d\n",x,m,g);

}*/

34.有三個(gè)小孩,一個(gè)比一個(gè)大2歲,已知其年齡之和為39,問(wèn)這

三個(gè)小孩各幾歲?

/*#include<stdio.h>//年齡34題

#include<math.h>

main()

into;

c=(39-6)/3;

printf("年齡最小的是:%d;年齡最大的是:%d;另一個(gè)

是:%d\n",c,c+4,c+2);

}*/

/*#include<stdio.h>//面積體積35題

#include<math.h>

intchang,kuan,gaozv,s;

changfangti(intchang,intkuan,intgao)

//ints,v;

//printf("請(qǐng)輸入長(zhǎng),寬,高:\n");

//scanf("%d%d%d",&chang,&kuan,&gao);

v=chang*kuan*gao;

s=(chang*kuan+chang*gao+kuan*gao)*2;

printf("體積是:%d表面及是:%d\n",v,s);

}

main()

printf("請(qǐng)輸入長(zhǎng),寬,高:\n");

scanf("%d%d%d",&chang,&kuan,&gao);

changfangti(chang,kuan,gao);

)

35.鍵盤輸入長(zhǎng)方體的長(zhǎng)寬高1、w、h,求其體積及表面積。要求用

自定義函數(shù)val(l,w,h)計(jì)算長(zhǎng)方體的體積和表面積,計(jì)算結(jié)果使

用全局變量帶回主函數(shù)。

/*#include<stdio.h>//面積體積35題

#include<math.h>

intchang,kuan,gao,vzs;

changfangti(intchang,intkuan,intgao)

//ints,v;

//printf("請(qǐng)輸入長(zhǎng),寬,高:\n");

//scanf("%d%d%d",&chang,&kuan,&gao);

v=chang*kuan*gao;

s=(chang*kuan+chang*gao+kuan*gao)*2;

printf("體積是:%d表面及是:%d\n'\v,s);

}

main()

printf("請(qǐng)輸入長(zhǎng),寬,高:\n");

scanf("%d%d%d",&chang,&kuan,&gao);

changfangti(chang,kuan,gao);

)

*/

36.計(jì)算:1/2+1/4+……+l/n,設(shè)n是由鍵盤輸入的正偶數(shù)。

/*#include<stdio.h>//36偶數(shù)

#include<math.h>

main()

doublen;

doublesum=0;

printf("請(qǐng)輸入偶數(shù)n=");

scanf("%lf",&n);

while((n-2)>-l)

//doublesum=0;

sum=sum+(1/n);

n=n-2;

//printf("%lf\n",sum);

}

printf("偶數(shù)之和是:%lf\n",sum);

}

37.計(jì)算:1/1+1/3+……+l/n,設(shè)n是由鍵盤輸入的正奇數(shù)。

#include<stdio.h>//37奇數(shù)

#include<math.h>

main()

doublen;

doublesum=0;

printf("請(qǐng)輸入奇數(shù)數(shù)n=");

scanf("%lf",&n);

while((n-2)>-2)

//doublesum=0;

sum=sum+(1/n);

n=n-2;

//printf("%lf\n",sum);

}

printf("奇數(shù)數(shù)之和是:%lf\n",sum);

}

38.計(jì)算:1/2-2/3+3/4-4/5……,前100項(xiàng)。

/*

*test38.c

*

*Createdon:2011-4-25

*Author:sky

*/

#include<stdio.h>

main(){

inti;

floatresult=0,d=l;

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

result+=i*d/(i+1);

d=-d;

printf("%f",result);

//printf("aa\n");

)

printf("結(jié)果是:%f\n",result);

)

39.有一個(gè)數(shù)組{1,4,80,23,47,76,14,52}?,F(xiàn)輸入一個(gè)數(shù),要

求按原來(lái)的規(guī)律將它插入數(shù)組中并從大到小輸出

/*

*39.c

*

*Createdon:2011-4-28

*Author:ocean

*/

#include<stdio.h>

main(){

inta[8]={1,4,80,23,47,76,14,52};

inti,j,t=0,tl=0Anum;

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

for(j=i;j<8;j++){

if(a[i]<a[j]){

t=a[j];

a[j]=a[i];

a[i]=t;

)

}

)

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

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

)

printf("輸入要插入的數(shù):;

scanf("%d",&num);

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

if(a[i]<num){

t=a[i];

a[i]=num;

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

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

tl=a[j];

a[j]=t;

t=tl;

}

break;

}

)

putchar(*\n*);

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

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

)

putchar(*\n*);

}

40.公安人員審問(wèn)四名竊賊嫌疑犯。已知,這四人當(dāng)中僅有一名是竊

賊,還知道這四人中每人要么是誠(chéng)實(shí)的,要么總是說(shuō)謊的。在回答公

安人員的問(wèn)題中:甲說(shuō)''乙沒(méi)有偷,是丁偷的〃,乙說(shuō)''我沒(méi)有偷,是

丙偷的〃,丙說(shuō)''甲沒(méi)有偷,是乙偷的〃,丁說(shuō)''我沒(méi)有偷〃。請(qǐng)根據(jù)這

四人的答話判斷誰(shuí)是盜竊者。

#include<stdio.h>

main(){

charsteal=*A,;

intflag=0;

for(steal;steal<=*D*;steal++){

flag=((steal!=1B*)==(steal==*D*))+((steal!=*B

)==(steal

==*C*))+((steal!=*A*)==(steal=='B,))+(steal!=,

D');

if(flag==4){

printf("%c\n",steal);

}

)

)

41.求s=a+aa+aaa+aaaa+......+aa...a的值,其中a是1~9

之間的一個(gè)數(shù)字,表達(dá)式項(xiàng)數(shù)從鍵盤輸入(設(shè)不超過(guò)10項(xiàng))。例如

2+22+222+2222+22222(此時(shí)共有5個(gè)數(shù)相加),幾個(gè)數(shù)相加由鍵

盤控制。

//*

*test41.c

*

*Createdon:2011-4-27

*Author:sky

*

#include<stdio.h>

main(){

inta[10];

int*p;

p=a;

inti,numl,num2,sum;

sum=0;

printf("請(qǐng)輸入基數(shù):\n");

scanf("%d",&numl);

printf("請(qǐng)輸入項(xiàng)數(shù):\n");

scanf("%d",&num2);

*p=numl;

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

//*(p+i+1)=a[i]*10+numl;

*(p+i+1)=*(p+i)*10+numl;

printf("%d\t",★(p+i));

)

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

sum+=*(p+i);

)

printf("和等于%d\n”,sum);

)

42.設(shè)N是一個(gè)四位數(shù),它的9倍恰好是其反序數(shù),求N。反序數(shù)就

是將整數(shù)的數(shù)字倒過(guò)來(lái)形成的整數(shù)。例如:1234的反序數(shù)是4321。

/*

*42.c

*

*Createdon:2011-4-28

*Author:ocean

*/

#include<stdio.h>

main(){

intn=O,m=0;

for(n=10000;n>=1000;n--){

m=n*9;

if((n%10==m/1000)&&(n/10%10==m/100%10)&&(n/100

%10==m/10%10)&&(n/1000==m%10)){

printf("%d\t%d\n",n,m);

}

)

)

43.愛(ài)因斯坦出了一道這樣的數(shù)學(xué)題:有一條長(zhǎng)階梯,若每步跨2階,

則最后剩一階,若每步跨3階,則最后剩2階,若每步跨5階,則

最后剩4階,若每步跨6階則最后剩5階。只有每次跨7階,最后

才正好一階不剩。請(qǐng)問(wèn)這條階梯至少有多少階?

/*

*43.c

*

*Createdon:2011-4-28

*Author:ocean

*/

#include<stdio.h>

main(){

inti;

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

if(i%2==l&&i%3==2&&i%5==4&&i%6==5&&i%7==0){

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

break;

)

)

)

44.輸入任意一行字符,降序排列之。

/*

*44.c

*Createdon:2011-4-28

*Author:ocean

*

#include<stdio.h>

main(){

chara[1000];

char*p=a;

char*q;//swap

chartemp;

printf("輸入一個(gè)字符串:”);

scanf("%s",p);

for(;*p!=1\01;p++){

for(q=p;*q!=,\0,;q++){

if(*p<*q){

temp=*q;

*q=*p;

*p=temp;

)

}

)

printf("%s",a);

}

45.輸入一行字符串,按如下規(guī)則加密:如果是英文字母則大寫變小

寫、小寫變大寫,對(duì)非英文字符則保持不變。試寫加密程序。

/*

*45.c

*

*Createdon:2011-4-28

*Author:ocean

*

#include<stdio.h>

main(){

chara[1000];

char*p;

p=a;

printf("輸入字符串:\n");

scanf(n%s",p);

for(;*p!=*\0*;p++){

if(*p>=*A*&&*p<=*Z*){

*p+=32;

}elseif(*p>=*a*&&*p<=1z*){

*p-=32;

}

)

printf("\n\n力口密后:%s\n”,a);

}

46.輸入一行小寫英文字母,按如下規(guī)則加密:a—c、b-d、…、x—z、

y-a、z-b,試寫加密程序。

/*

*46.c

*

*Createdon:2011-4-28

*Author:ocean

*

#include<stdio.h>

main(){

chara[1000];

char*p;

p=a;

printf("輸入字符串:\n");

scanf(n%s",p);

for(;*p!=*\0*;p++){

if(*p==*y1||*p==*z*){

溫馨提示

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

評(píng)論

0/150

提交評(píng)論