題庫(kù)順序結(jié)構(gòu)+題庫(kù)選擇結(jié)構(gòu)+題庫(kù)循環(huán)結(jié)構(gòu)_第1頁(yè)
題庫(kù)順序結(jié)構(gòu)+題庫(kù)選擇結(jié)構(gòu)+題庫(kù)循環(huán)結(jié)構(gòu)_第2頁(yè)
題庫(kù)順序結(jié)構(gòu)+題庫(kù)選擇結(jié)構(gòu)+題庫(kù)循環(huán)結(jié)構(gòu)_第3頁(yè)
題庫(kù)順序結(jié)構(gòu)+題庫(kù)選擇結(jié)構(gòu)+題庫(kù)循環(huán)結(jié)構(gòu)_第4頁(yè)
題庫(kù)順序結(jié)構(gòu)+題庫(kù)選擇結(jié)構(gòu)+題庫(kù)循環(huán)結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(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)介

1000語(yǔ)法百題問(wèn)候

問(wèn)候人類!

輸入

輸入一行,一個(gè)名字,如human(字符串類型,定義為string)

輸出

輸入一行,一個(gè)名字,如human(字符串類型,定義為string)

樣例輸入

kitty

樣例輸出

Hellokitty!

#include<iostream>

usingnamespacestd;

intmain()

(

chara[20];

ci_n>>a*

cout<<,,Hello"<<a<<"!";

return0;

)

1001

A+BProblem

輸入

兩個(gè)整數(shù)a,b(0<=a,b<=100000)

輸出

輸出a+b的值

樣例輸入

12

樣例輸出

3

#include<iostream>

usingnamespacestd;

intmain()

inta,b,c;

cin?a?b;

c=a+b;

cout<<c;

return0;

)

1002

題目描述

輸入兩個(gè)整數(shù),求他們相除的余數(shù)。

輸入

ab兩個(gè)數(shù)

輸出

a/b的余數(shù)

樣例輸入

32

樣例輸出

1

^include<iostream>

itinclude<cstdio>

usingnamespacestd;

intmainO

(

inta,b,c;

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

c=a%b;

printf(/z%d\nz/,c);

)

1003

題目描述

給你a和b,求他們的余數(shù)和非整數(shù)商。保留兩位小數(shù)。

輸入

ab

輸出

余數(shù)和商

樣例輸入

53

樣例輸出

21.67

提示

l<=a,b<=10000

#include<iostream>

#include<iomanip>

usingnamespacestd;

intmain()

(

inta,b,c;

doubled;

cin?a>>b;

c—a%b*

d=(a*l.0)/b;//d=(double)a/b;

COUt<<C<<,>

cout?setiosflags(ios::fixed)<<setprecision(2)<<d?endl;〃輸出兩位小數(shù)

}

1004

題目描述

定義一個(gè)帶參的宏,使兩個(gè)參數(shù)的值互換,并寫出程序,輸入兩個(gè)數(shù)作為使用宏時(shí)的實(shí)

參。輸出已交換后的兩個(gè)值。

輸入

兩個(gè)數(shù),空格隔開(kāi)

輸出

交換后的兩個(gè)數(shù),空格隔開(kāi)

樣例輸入

12

樣例輸出

21

#include<iostream>

usingnamespacestd;

intmain()

(

inta,b,c;

cin?a?b;

c=a;

a=b;

b=c;

cout<<a?,z,z<<b;

return0;

1005

題目描述

輸入一個(gè)華氏溫度,要求輸出攝氏溫度。公式為c=5(F-32)/9輸出要求有文字說(shuō)明,取位

2小數(shù)。

輸入

一個(gè)華氏溫度,浮點(diǎn)數(shù)

輸出

攝氏溫度,浮點(diǎn)兩位小數(shù)

樣例輸入

-40

樣例輸出

c=-40.00

#include<iostream>

#include<iomanip>

usingnamespacestd;

intmainO

(

doublec,F;

cin>>F;

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

cout?setiosflags(ios::fixed)?setprecision(2)<<"c="<<c<〈endl;

return0;

}

1008

題目描述

輸入一個(gè)四位數(shù)字,要求輸出這四個(gè)數(shù)字字符,但每?jī)蓚€(gè)數(shù)字間空格。如輸入1990,應(yīng)輸

出"1990”。

輸入

一個(gè)四位數(shù)

輸出

增加空格輸出

樣例輸入

1990

樣例輸出

1990

#include<iostream>

usingnamespacestd;

intmain()

(

intn,a,b,c,d;

cin>>n;

a=n/1000;

b=(n-a*1000)/100;

c=(n-a*1000-b*100)/10;

d=n%10;

cout?a?z,,z?b?z,z,?d;

)

1010

題目描述

圓球與圓柱中圓半徑r為,圓柱高h(yuǎn),求圓柱上圓周長(zhǎng)Cl、圓的面積Sa、圓球表面積

Sb、圓球體積Va、圓柱體積Vb。輸入數(shù)據(jù)r,h,輸出計(jì)算結(jié)果,輸出時(shí)要求文字說(shuō)明,取

小數(shù)點(diǎn)后兩位數(shù)字。請(qǐng)編程序。PI=3.14

輸入

兩個(gè)浮點(diǎn)數(shù),r和h

輸出

圓周長(zhǎng)C1、圓面積Sa、圓球表面積Sb、圓球體積Va、圓柱體積Vb。保留兩位小數(shù),每

個(gè)結(jié)果后換行。

樣例輸入

1.53

樣例輸出

Cl=9.42

Sa=7.07

Sb=28.26

Va=14.13

Vb=21.20

提示

半徑為r的圓球,圓球表面積為4*pi*r*r,體積為4/3*pi*r*r*r,對(duì)于圓柱,上面半徑為r

的圓,體積為pi*r*r*h

#include<iostream>

#include<cstdio>

usingnamespacestd;

intmain()

(

intpi;

doubler,h,cl,sa,sb,va,vb;

cin?r>>h;

pi=314;

cl=2*pi*r*l.0/100;

sa=pi*r*r*l.0/100;

sb=4*pi*r*r*l.0/100;

va=pi*r*r*r*4.0/300;

vb二p逐r*r*h*l.0/100;

printf(Z,C1=%.21f\nSa=%.21f\nSb=%.21f\nVa=%.21f\nVb=%.21f〃,cl,sa,sb,va,v

b);〃保留小數(shù)另一種格式

return0;

)

1012

題目描述

三角形面積=SQRT(S*(S-a)*(S-b)*(S-c))其中S=(a+b+c)/2,a、b、c為三角形的三邊。

輸入

abc三角形的三條邊,可以是小數(shù)。

輸出

三角形面積,保留3位小數(shù)

樣例輸入

345

樣例輸出

6.000

提示

秦九韶定理和海倫公式定義的圓的面積為SQRT(S*(S-a)*(S-b)*(S-c))其中

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

其中sqrt為求平方根函數(shù),需要開(kāi)cmath庫(kù)。

#include<cmath>

#include<cstdlib>

#include<iostream>

usingnamespacestd;

intmain()

(

doublea,b,c,s,S;

cin?a>>b?c;

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

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

printf(z,%0.31f,z,S);

)

1013

題目描述

解一元二次方程ax八2+bx+c=0的解。

輸入

a,b,c的值。

輸出

兩個(gè)根XI和X2,其中X1>=X2。。

結(jié)果保留兩位小數(shù)

樣例輸入

15-2

樣例輸出

0.37-5.37

提示

本題數(shù)據(jù)一定有兩個(gè)實(shí)根,不存在無(wú)解的情況

#include<iostream>

#include<cmath>

#include<iomanip>

usingnamespacestd;

intmain()

(

doublea,b,c,d,e,f,g,h,xl,x2,k;

cin?a?b?c;

d=(b*b)-(4*a*c);

e=sqrt(d);

f=-b+e;

g=-b-e;

xl=f/2*a;

x2=g/2*a;

cout<<setiosflags(ios::fixed)<<setprecision(2)<<cout<<xl<<z,/z<<x2?endl;

return0;

)

選擇結(jié)構(gòu)

1006

題目描述

有一個(gè)函數(shù)

x(X<1)

y=2x-l(K=x<10)

3x-ll(x>=10)

寫一段程序,輸入x,輸出y

輸入

一個(gè)整數(shù)x

輸出

一個(gè)整數(shù)y

樣例輸入

14

樣例輸出

31

#include<iostream>

ttinclude<cstdio>

usingnamespacestd;

intmainO

(

intx,y;

cin?x;

if(x<l)y=x;

if(x>=l&&x<10)y=2*x-l;

if(x>=10)y=3*x-ll;

cout?y?endl;

return0;

}

1007

題目描述

給出一百分制成績(jī),要求輸出成績(jī)等級(jí)'A'、'B'、'C'、'D,、'E'。90分以上

為A80-89分為B70-79分為C60-69分為D60分以下為E

輸入

一個(gè)整數(shù)?!?00以內(nèi)

輸出

一個(gè)字符,表示成績(jī)等級(jí)

樣例輸入

90

樣例輸出

A

提示

分段函數(shù)返回字符

#include<iostream>

usingnamespacestd;

intmainO

(

intn;

charx;

cin?n;

if(n>=90)x='A';

elseif(n>=80)x='B';

elseif(n>=70)x='C';

elseif(n>=60)x='D';

elsex='E";

cout?x?endl;

1009

題目描述

企業(yè)發(fā)放的獎(jiǎng)金根據(jù)利潤(rùn)提成。利潤(rùn)低于或等于100000元的,獎(jiǎng)金可提10%;

利潤(rùn)高于100000元,低于200000元(100000<1<200000)時(shí),低于100000元的部分按

10%提成,高于100000元的部分,可提成7.5猊

200000。W400000時(shí),低于200000元部分仍按上述辦法提成,(下同),高于200000元

的部分按5%提成;

400000CIW600000元時(shí),高于400000元的部分按3%提成;600000CIW1000000時(shí),高于

600000元的部分按1.5%提成;

1>1000000時(shí),超過(guò)1000000元的部分按1%提成。從鍵盤輸入當(dāng)月利潤(rùn)I,求應(yīng)發(fā)獎(jiǎng)金總

數(shù)。

輸入

一個(gè)整數(shù),當(dāng)月利潤(rùn)。

輸出

一個(gè)整數(shù),獎(jiǎng)金。

樣例輸入

900

樣例輸出

90

提示

用Switch要比用if的看起來(lái)更清晰。

#include<iostream>

usingnamespacestd;

intmain(intargc,char*argv口)

inta;

doubleb;

cin>>a;

if(a<=100000)

b=a*0.1;

elseif(a<200000&&a>=100000)

b=10000+0.75*(a-100000);

elseif(a<400000&&a>=200000)

b=20000+0.05*(a-200000);

elseif(a<600000&&a>=400000)

b=40000+0.03*(a-400000);

elseif(a<1000000&&a>=600000)

b=60000+0.015*(a-600000);

elseb=100000+0.01*(a-1000000);

cout?b;

return0;

1011

題目描述

輸入年份year,以判別該年份是否閏年。

輸入

一個(gè)年份

輸出

根據(jù)是否閏年輸出,是輸出否輸出〃N”

樣例輸入

2000

樣例輸出

L

#include<iostream>

usingnamespacestd

intmain()

inty;

cin?y;

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

cout<<z/Lz/<<endl;

else

cout?,,N/z?endl;

1014

題目描述

編寫一個(gè)程序,輸入a、b、c三個(gè)值,輸出其中最大值。

輸入

一行數(shù)組,分別為abc

輸出

abc其中最大的數(shù)

樣例輸入

102030

樣例輸出

30

#include<iostream>

usingnamespacestd;

intmain()

(

inta,b,c,max;

cin?a>>b?c;

max=a;

if(max<b)max=b;

if(max<c)max=c;

cout<<max;

return0;

)

1016

題目描述

輸入三個(gè)字符串,按由小到大的順序輸出

輸入

3行字符串

輸出

按照從小到大輸出成3行

樣例輸入

cde

afg

abc

樣例輸出

abc

afg

cde

#include<iostream>

usingnamespacestd;

intmain()

(

stringa,b,c,d;"string與int作用一樣,表示字符串

cin?a?b?c;

if(a>b)

(

d=a;a=b;b=d;

)

if(a>c)

(

d=a;a=c;c=d;

)

if(b>c)

(

d=b;b=c;c=d;

)

cout?a?endl?b?endl?c;

}

1015

題目描述

輸入兩點(diǎn)坐標(biāo),(X2,Y2),計(jì)算并輸出兩點(diǎn)間的距離。

輸入

輸入數(shù)據(jù)有多組,每組占一行,由4個(gè)實(shí)數(shù)組成,分別表示xl,yl,x2,y2,數(shù)據(jù)之間用空格隔

開(kāi)。

輸出

對(duì)于每組輸入數(shù)據(jù),輸出一行,結(jié)果保留兩位小數(shù)。

樣例輸入

oOO1

O11O

樣例輸出

1.00

1.41

#include<iostream>

#include<cmath>

#include<iomanip>

usingnamespacestd;

intmain()

(

doublexl,x2,yl,y2,s;

while(cin?xl>>yl?x2>>y2)

(

s=sqrt((xl-x2)*(xl-x2)+(yl-y2)*(yl-y2));

cout<<setiosflags(ios::fixed)<<setprecision(2)<<s<<endl;

)

}

1017:

題目描述

計(jì)算1~N之間所有奇數(shù)之和

輸入

正整數(shù)N

輸出

1~N之間所有奇數(shù)之和

樣例輸入

10

樣例輸出

25

提示

n<=1000

#include<iostream>

usingnamespacestd;

intmainO

(

inti;

intn,ans;

cin?n;

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

ans+=i:

)

cout?ans;

return0;

}

1018:

題目描述

計(jì)算一個(gè)整數(shù)N的階乘

輸入

一個(gè)整數(shù)N,(0(=N(=12)

輸出

整數(shù)N的階乘.

樣例輸入

5

樣例輸出

120

#include<iostream>

usingnamespacestd;

intmain()

(

intn,s=l;

cin>>n;

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

s*二i;

cout<<s<<endl;

return0;

)

1019:

題目描述

輸出所有的“水仙花數(shù)”.所謂“水仙花數(shù)”是指這樣的一個(gè)三位數(shù):其各位數(shù)字的立方和等于

該數(shù)本身。例如:371是一個(gè)”水仙花數(shù)",371=3八3+7人例如3.

輸入

輸出

輸出所有的“水仙花數(shù)"(從小到大的順序輸出)

#include<iostream>

usingnamespacestd;

intmainO

(

inta,b,c,i;

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

(

a=i/100;

b=(i-100*a)/10;

c=i-100*a-10*b;

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

cout<<i<<"〃;

)

return0;

}

1020:

題目描述

輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。

輸入

兩個(gè)整數(shù)

輸出

最大公約數(shù),最小公倍數(shù),中間空格

樣例輸入

57

樣例輸出

135

#include<iostream>

usingnamespacestd;

intmain()

(

intn,m,a,b;

cin>>n>>m;

a=n;b=m;

while(b)

(

inttemp=a%b;

a=b;

b=temp;

)

cout?a?^^K?n*m/a?endl;

return0;

)

1021:

題目描述

3025這個(gè)數(shù)具有一種獨(dú)特的性質(zhì):將它平分為二段,即30和25,使之相加后求平方,即

(30+25)八2,恰好等于3025本身。請(qǐng)求出具有這樣性質(zhì)的全部四位數(shù)

輸入

輸出

滿足題意的數(shù)全部四位數(shù)(從小到大輸出,且數(shù)之間用兩個(gè)空格分開(kāi))

樣例輸入

樣例輸出

提示

根據(jù)題意可以采用窮舉法,對(duì)所有四位數(shù)進(jìn)行判斷,從而篩選出符合這種性質(zhì)的四位數(shù)。

具體算法實(shí)現(xiàn),可任取一個(gè)四位數(shù),將其截為兩部分,前兩位為a,后兩位為b,然后套用

公式計(jì)算并判斷。

#include<iostream>

usingnamespacestd;

intmainO

(

intn,a,b;

for(n=1000;n<10000;n++)

(

a=n/100;

b=n%100;

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

cout?n?endl;

)

}

1022:

題目描述

最近河伯家要裝修了,他家要鋪地板,他家是一個(gè)n*n的正方形,要用一個(gè)字符k鋪地

板?,F(xiàn)告訴你n和k,請(qǐng)你告訴河伯鋪完的效果。

輸入

nk

輸出

地板

樣例輸入

3*

樣例輸出

***

***

***

提示

n<=100

#include<iostream>

usingnamespacestd;

intmain()

(

intn,i,j;

charc;

cin?n>>c;

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

(

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

cout<<c;

cout<<endl;

)

)

1023:

題目描述

河伯的新家有兩層樓,所以他要建一個(gè)樓梯。樓梯有n層,并用一字符k建造。給你n和

k,請(qǐng)你告訴河伯建完的效果。

輸入

輸出

樣例輸入

5#

樣例輸出

#

##

###

####

#####

提示

n<=100

#include<iostream>

usingnamespacestd;

intmain()

(

intn,i,J;

charc;

cin>>n>>c;

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

(

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

cout?c;

cout<<endl;

)

)

1024:

題目描述

河伯最近在打一個(gè)叫魔獸爭(zhēng)霸3的游戲,這個(gè)游戲可以控制兵推掉對(duì)面的老家,而這個(gè)游

戲陣型很重要,河伯現(xiàn)在要排成一個(gè)菱形,所以請(qǐng)你幫河伯排一下陣型

輸入

nk

n為int,表示需要排成的整形的行數(shù)k為char,表示排成陣型的字符

n為奇數(shù)

輸出

陣型。

樣例輸入

3"

樣例輸出

提示

n<=100

#include<iostream>

usingnamespacestd;

intmain()

(

intn,i,j;

charc;

cin>>n?c;

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

(

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

cout?z,

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

cout?c;

cout<<endl;

)

for(i=n-2;i>=0;i—)

(

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

cout?/z

for(j=0;j〈=i*2;j++)

cout?c;

cout<<endl;

)

}

1028:

題目描述

輸入一個(gè)百分制的成績(jī)t,將其轉(zhuǎn)換成對(duì)應(yīng)的等級(jí),具體轉(zhuǎn)換規(guī)則如下:

90~100為A;

80-89為B;

70-79為C;

60-69為D;

0-59為E;

輸入

輸入數(shù)據(jù)有多組,每組占一行,由一個(gè)整數(shù)組成。

輸出

對(duì)于每組輸入數(shù)據(jù),輸出一行。如果輸入數(shù)據(jù)不在0~100范圍內(nèi),請(qǐng)輸出一行:“Scoreis

error!”。

樣例輸入

56

67

100

123

樣例輸出

E

D

A

Scoreiserror!

#include<iostream>

usingnamespacestd;

intmain()

(

intn;

while(cin?n)

(

if(n>=0&&n<=59)cout?/zE,,?endl;

if(n>=60&&n<70)cout?,zDz/<<endl;

if(n>=70&&n<80)cout?,zC,z<<endl;

if(n>=80&&n<90)cout?,zBz/<<endl;

if(n>=90&&n<=100)cout<<,zA,z<<endl;

if(n<0||n>100)cout<<z,Scoreiserror!,z?endl;

)

return0;

)

1030:

題目描述

猴子吃桃問(wèn)題。猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不過(guò)癮,又多吃了一個(gè)。

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

半零一個(gè)。到第N天早上想再吃時(shí),見(jiàn)只剩下一個(gè)桃子了。求第一天共摘多少桃子。

輸入

N

輸出

桃子總數(shù)

樣例輸入

10

樣例輸出

1534

#include<iostream>

usingnamespacestd;

intmain()

(

intn,i,m;

cin>>n;

m=l;

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

m=(m+l)*2;

cout<<(m+l)/2-l;

return0;

)

1031:

題目描述

有一分?jǐn)?shù)序列:2/13/25/38/513/821/13.....求出這個(gè)數(shù)列的前N項(xiàng)之和,保留

兩位小數(shù)。

輸入

輸出

數(shù)列前N項(xiàng)和

樣例輸入

10

樣例輸出

16.48

#include<iostream>

#include<iomanip>

usingnamespacestd;

intmain()

(

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

floatsum=0;

intn;

cin?n;

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

(

sum=sum+(float)b/a;

t=a+b;

a=b;

b=t;

)

cout?setiosflags(ios::fixed)<<setprecision(2)?sum?endl;

1032:

題目描述

輸入一個(gè)整數(shù),輸出是否是素?cái)?shù)的消息。

輸入

一個(gè)數(shù)

輸出

如果是素?cái)?shù)輸出prime如果不是輸出notprime

樣例輸入

97

樣例輸出

Prime

#include<iostream>

usingnamespacestd;

intmain()

(

intn,m=l;

cin>>n;

boolf=true;

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

(

if(n%i==0)

{f=false;break;}

)

if(f==false)cout?,znotprime”;

elsecout?,/prime,z;

return0;

)

1034:

題目描述

求以下三數(shù)的和,保留2位小數(shù)1%之和1飛的平方和l~c的倒數(shù)和

輸入

abc

輸出

1+2+...+a+12+22+...+b2+1/1+1/2+...+1/c

樣例輸入

1005010

樣例輸出

47977.93

#include<iostream>

usingnamespacestd;

intmain()

(

inta,b,c,i;

doublesl=0,s2=0,s3=0,s4=0;

cin?a>>b?c;

sl=(l+a)*a/2;

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

s2+=i*i;

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

s3+=1.0/i;

s4=sl+s2+s3;

printfC%.21f,z,s4);

return0;

)

1037:語(yǔ)法百題數(shù)據(jù)記錄

時(shí)間限制:1Sec內(nèi)存限制:128MB

提交:27解決:18

題目描述

現(xiàn)有有N個(gè)學(xué)生的數(shù)據(jù)記錄,每個(gè)記錄包括學(xué)號(hào)、姓名、三科成績(jī)。編寫一個(gè)程序打

印一個(gè)學(xué)生的數(shù)據(jù)記錄。N<100

輸入

學(xué)生數(shù)量N占一行每個(gè)學(xué)生的學(xué)號(hào)、姓名、三科成績(jī)占一行,空格分開(kāi)。

輸出

每個(gè)學(xué)生的學(xué)號(hào)、姓名、三科成績(jī)占一行,逗號(hào)分開(kāi)。

樣例輸入

2

alOOzhblue708090

b200newsclan908575

樣例輸出

alOO,zhblue,70,80,90

b200,newsclan,90,85,75

#include<iostream>

usingnamespacestd;

intmain()

(

ints,i;

cin?s;

stringa,b;

intc,d,e;

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

(

cin?a?b?c>>d?e;

cout?a?',"?b?,"?c?),'?d?',"?e?endl;

)

return0;

}

1044:語(yǔ)法百題Tom數(shù)

時(shí)間限制:1Sec內(nèi)存限制:128MB

題目描述

正整數(shù)的各位數(shù)字之和被Tom稱為Tom數(shù)。求輸入數(shù)(<2八32)的Tom數(shù)!

輸入

每行一個(gè)整數(shù)(<2入32).

輸出

每行一個(gè)輸出,對(duì)應(yīng)該數(shù)的各位數(shù)之和.

樣例輸入

12345

56123

82

樣例輸出

15

17

10

#include<iostream>

#include<stdio.h>

usingnamespacestd;

intmain()

(

longlonga,sum=0;

while(cin?a)

(

while(a>0)

(

sum+=a%10;

a/=10;

)

cout<<sum?endl;

sum=0;

)〃〃

“system("pause");

return0;

)

1049:語(yǔ)法百題彈球

時(shí)間限制:1Sec內(nèi)存限制:128MB

題目描述

一球從M米高度自由下落,每次落地后返回原高度的一半,再落下。它在第N次落地

時(shí)反彈多高?共經(jīng)過(guò)多少米?保留兩位小數(shù)

輸入

MN

輸出

它在第N次落地時(shí)反彈多高?共經(jīng)過(guò)多少米?保留兩位小數(shù),空格隔開(kāi),放在一行

樣例輸入

10005

樣例輸出

31.252875.00

#include<iostream>

usingnamespacestd;

intmain()

doublem,n,i,o=0;

cin?m?n;

o=m;

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

(

o+=m;

m=m/2.00;

)

printf("%.21f%.21f”,m,o-m*2);

//system("pause");

return0;

)

1050:語(yǔ)法百題委派任務(wù)

時(shí)間限制:1Sec內(nèi)存限制:128MB

題目描述

某偵察隊(duì)接到一項(xiàng)緊急任務(wù),要求在A、B、C、D、E、F六個(gè)隊(duì)員中盡可能多地挑若

干人,但有以下限制條件:

1)A和B兩人中至少去一人;

2)A和D不能一起去;

3)A、E和F三人中要派兩人去;

4)B和C都去或都不去;

5)C和D兩人中去一個(gè);

6)若D不去,則E也不去。

問(wèn)應(yīng)當(dāng)讓哪幾個(gè)人去?

輸出

要派出的人,若有多個(gè),按字母遞增順序排列,用逗號(hào)分開(kāi)(含末尾逗號(hào))

樣例輸入

樣例輸出

A,B,C,F,

#include<iostream>

#include<cstdio>

usingnamespacestd;

inta,b,c,d,e,f,flag[10],ans=0,i,1;

main()

(

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

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

for(d=O;d<=l;d++)

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

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

if(a+b>=l&&a+d!=2&&a+e+f==2&&b==c&&

c+d==1&&(d+e==0|d==1))

(

if(a-l)flag[l]=l;

if(b==l)flag[2]=l;

if(c==l)flag[3]=1;

if(d==l)flag[4]=l;

if(e==l)flag[5]=l;

if(f==l)flag[6]=l;

)

for(i=6;i>=l;i-)

if(flag[i]){l=i;break;)

for(i=l;i++)

if(flagti]){cout?char(i+64)?*,*;}

cout?cout?char(1+64)?endl;

return0;

)

1052:語(yǔ)法百題尼科徹斯定理

時(shí)間限制:1Sec內(nèi)存限制:128MB

題目描述

驗(yàn)證尼科徹斯定理,即:任何一個(gè)正整數(shù)的立方都可以寫成一串連續(xù)奇數(shù)的和。

輸入

任一正整數(shù)

輸出

該數(shù)的立方分解為一串連續(xù)奇數(shù)的和

樣例輸入

13

樣例輸出

13*13*13=2197=157+159+161+163+165+167+169+171+173+175+177+179+181

提示

本題是一個(gè)定理,我們先來(lái)證明它是成立的。對(duì)于任一正整數(shù)a,不論a是奇數(shù)還是偶數(shù),

整數(shù)(axa-a+1)必然為奇數(shù)。構(gòu)造一個(gè)等差數(shù)列,數(shù)列的首項(xiàng)為(axa-a+1),等差數(shù)列的差值為

2(奇數(shù)數(shù)列),則前a項(xiàng)的和為:

ax((axa-a+l))+2xa(a-l)/2

=axaxa-axa+a+axa-a

=axaxa

定理成立。證畢。

通過(guò)定理的證明過(guò)程可知L所要求的奇數(shù)數(shù)列的首項(xiàng)為(axa-a+1),長(zhǎng)度為a。編程的算

法不需要特殊設(shè)計(jì),可按照定理的證明過(guò)直接進(jìn)行驗(yàn)證。

^include<iostream>

#include<stdio.h>

usingnamespacestd;

intmain()

(

inta,b,c,d;

scanf&a);

b=a*a*a;

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

for(d=0,c=0;c<a;c++)

(

d+=a*a-a+l+c*2;

printf(c?〃+%d〃:〃/d”,a*a-a+l+c*2);

)〃〃

//system("pause");

return0;

)

1054:語(yǔ)法百題最大數(shù)問(wèn)題

時(shí)間限制:1Sec內(nèi)存限制:128MB

題目描述

輸入若干個(gè)整數(shù),以-1標(biāo)記輸入結(jié)束。輸出其中的最大數(shù)

輸入

若干個(gè)整數(shù)。(以-1標(biāo)記輸入結(jié)束)

輸出

其中的最大數(shù)

樣例輸入

1257861-6-1

樣例輸出

8

#include<iostream>

#include<stdio.h>

usingnamespacestd;

intmain()

inta=0,max=0,min=0;

cin?a;

max=a;

while(a!=~l)

if(a>max)

max=a;

}

scanf(〃%d〃,&a);

}

printf(〃%d〃,max);

“system("pause");

return0;

}

1055:語(yǔ)法百題求l+2!+3!+...+N!的和

時(shí)間限制:1Sec內(nèi)存限制:128MB

題目描述

求l+2!+3!+...+N!的和

輸入

正整數(shù)N(N<=20)

輸出

l+2!+3!+...+N!的和(結(jié)果為整數(shù)形式)

樣例輸入

3

樣例輸出

9

#include<stdio.h>

#include<string.h>

#include<math.h>

#include<stdlib.h>

#include<algorithm>

#include<iostream>

usingnamespacestd;

intmainO

(

longlongN,i,1,j;

cin?N;

for(i=l,1=1,j=O;i<=N;i++)

(

l=l*i;

j=l+j;

)

cout?j;

return0;

1056:語(yǔ)法百題求s=a+aa+aaa+aaaa+aa...a的值

時(shí)間限制:1Sec內(nèi)存限制:128MB

題目描述

求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個(gè)一位的整數(shù)。例如

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

輸入

整數(shù)a和n(n個(gè)數(shù)相加,1<=n,a<=9)

輸出

S的值

樣例輸入

22

樣例輸出

24

#include<iostream>

#include<cmath>

usingnamespacestd;

intmain()

(

longlonghl,h2;

inti,a,n;

cin>>a>>n;

hl=a;

h2二a;

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

(

hl=hl*10+a;

h2=h2+hl;

)

cout?h2;

}

1061:語(yǔ)法百題立方和不等式

時(shí)間限制:1Sec內(nèi)存限制:128MB

題目描述

試求滿足下述立方和不等式的m的整數(shù)解。》3+2人3+...+mA3〈=n本題算法如下:對(duì)

指定的n,設(shè)置求和循環(huán),從i=l開(kāi)始,i遞增1取值,把i3(或i*i*i)累加到s,直至

s>=n,脫離循環(huán)作相應(yīng)的打印輸出。

輸入

正整數(shù)n

輸出

不等式的整數(shù)解

樣例輸入

10

樣例輸出

2

#include<cstdio>

intmainO

(

intn,temp=O,i;

scanf("%d",&n);

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

temp+=i*i*i;

printf(線d",i-2);

return0;

)

1063:語(yǔ)法百題舍罕王的失算

時(shí)間限制:1Sec內(nèi)存限制:128MB

題目描述

相傳國(guó)際象棋是古印度舍罕王的宰相達(dá)依爾發(fā)明的.舍罕王十分喜愛(ài)象棋,決定讓宰相自

己選擇何種賞賜.這位聰明的宰相指著8*8共64格的象棋說(shuō):陛下,請(qǐng)您賞給我一些麥子吧.就

在棋盤的第1格放1粒,第2格放2粒,第三格放4粒,以后每一格都比前一格增加一位,依此

放完棋盤一前n個(gè)格子,我就感激不盡了.舍罕王讓人扛了一袋麥子,他要兌現(xiàn)他的許諾.

請(qǐng)問(wèn),國(guó)王要兌現(xiàn)他的許諾共要多少粒麥子賞賜他的宰相?

輸入

一個(gè)整數(shù)n(n<=50)

輸出

一個(gè)整數(shù)

樣例輸入

3

樣例輸出

7

#include<iostream>

#include<cstring>

usingnamespacestd;

intmain()

{

inta,b,c,d;

cin?a:

while(a!=l)

(

if(a%2==0)

{cout?a?/z/2=w<<a/2?endl;

a=a/2;}

else

{cout?a?/,*3+l="z?a*3+l?endl;

a=a*3+l;}

return0;

1065:語(yǔ)法百題班級(jí)人數(shù)

時(shí)間限制:1Sec內(nèi)存限制:128MB

題目描述

某班學(xué)生參加程序設(shè)計(jì)大賽,最后結(jié)果及格有超過(guò)P%但不足Q%的人?,F(xiàn)在給你P和

Q,你要算出該班最少有多少人。(數(shù)據(jù)弱了一點(diǎn),所以好通過(guò))。

輸入

兩個(gè)實(shí)數(shù)P,Qo用空格隔開(kāi)。每個(gè)數(shù)最多有兩位小數(shù)。0.00<=p<q<=99.99

多行,多組數(shù)據(jù)

輸出

這個(gè)班級(jí)的最少的人數(shù)。多行多組數(shù)據(jù)

樣例輸入

1314.1

67.7367.92

樣例輸出

15

28

#include<iostream>

#include<iomanip>

#include<cmath>

usingnamespacestd;

intmain(){

doublea,b;

inti=0;

while(cin>>a?b){

for(i=l;;i++)

if(floor(i*b/100)-floor(i*a/100)>=1)

break;

cout<<i<<endl;

)

return0;

)

1066:語(yǔ)法百題完數(shù)

時(shí)間限制:10Sec內(nèi)存限制:128MB

題目描述

一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為“完數(shù)例如,6的因子為1、2、

3,而6=1+2+3,因此6是"完數(shù)編程序找出N之內(nèi)的所有完數(shù),并按下面格式輸出其

因子:

輸入

N

輸出

?itsfactorsare???

樣例輸入

1000

樣例輸出

6itsfactorsare123

28itsfactorsare124714

496itsfactorsare1248163162124248

#include<iostream>

usingnamespacestd;

intmain()

(

intn,N,s;

cin?N;

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

(

ints=0;

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

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

if(n==s)

(〃〃

cout<<n?z,itsfactorsare〃;

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

if(n%i==0)

{cout<<i<<,zz,;}

cout?endl;}

)

return0;

)

1067:語(yǔ)法百題阿姆斯特朗數(shù)

時(shí)間限制:1Sec內(nèi)存限制:128MB

題目描述

如果一個(gè)正整數(shù)等于其各個(gè)數(shù)字的立方和,則稱該數(shù)為阿姆斯特朗數(shù)(亦稱為自戀性

數(shù))。如407=4八3+0八3+7八3就是一個(gè)阿姆斯特朗數(shù)。試編程求1-n以內(nèi)所有阿姆斯特朗數(shù)。

n<=1000000

輸入

一個(gè)整數(shù)n

輸出

從小到大輸出,每行一個(gè)數(shù)

樣例輸入

1000

樣例輸出

1

153

370

371

407

#include<iostream>

usingnamespacestd;

intmain()

(

intn,i,s,x;

cin>>n;

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

{

x=i;

s=0;

while(x!=0)

(

inty;

y=x%10;

s=s+y*y*y;

x=x/10;

if(i==s)cout?i?endl;

)

return0;

1068:語(yǔ)法百題連續(xù)自然數(shù)和

時(shí)間限制:1Sec內(nèi)存限制:128MB

題目描述

對(duì)一個(gè)給定的自然數(shù)M,求出所有的連續(xù)的自然數(shù)段(連續(xù)個(gè)數(shù)大于1),這些連續(xù)

的自然數(shù)段中的全部數(shù)之和為M。例子:1998+1999+2000+2001+2002=10000,所以從

1998到2002的一個(gè)自然數(shù)段為M=10000的一個(gè)解。

輸入

一行,包含一個(gè)整數(shù)為M的值(10<=M<=2,000,000)

輸出

每行兩個(gè)自然數(shù),給出一個(gè)滿足條件的連續(xù)自然數(shù)段中的第一個(gè)數(shù)和最后一個(gè)數(shù),兩

數(shù)之間用一個(gè)空格隔開(kāi),可能有多種答案,都要輸出,所有輸出行的第一個(gè)數(shù)按從小到大

的升序排列,對(duì)于給定的輸入數(shù)據(jù),保證至少有一個(gè)解。

樣例輸入

10000

樣例輸出

18142

297328

388412

19982002

#include<iostream>

usingnamespacestd;

intmain()

(

longi,j,k,m;

cin?m;

k=m/2+1;

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

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

if((j-i+l)*(i+j)/2>=m)

(

if((j-i+l)*(i+j)/2==m)

(

cout<<i<<,*?j<<endl;

)

break;

)

return0;

)

1076:語(yǔ)法百題迭代法求平方根

時(shí)間限制:1Sec內(nèi)存限制:128MB

題目描述

用迭代法求。求平方根的迭代公式為:X[n+l]=l/2(X[n]+a/X[n])要求前后兩次求

出的得差的絕對(duì)值少于0.00001o輸出保留3位小數(shù)

輸入

a

輸出

a的平方根

樣例輸入

4

樣例輸出

2.000

#include,zstdio.h〃

ttinclude^math.h〃

main()

(floatxO,xl,a;

scanf&a);

xl=a/2;

do

{x0=xl;xl=(x0+a/x0)/2;}

while(fabs(x0-xl)>=0.00001);

printf(,z%.3f\n〃,xl);

)

#include<cstdio>

#include<cmath>

intmain()

(

doublea;

scanff%ir,&a);

printf(z/%.31f,z,sqrt(a));

return0;

)

1077:語(yǔ)法百題約瑟夫問(wèn)題1

時(shí)間限制:1Sec內(nèi)存限制:128MB

題目描述

有n人圍成一圈,順序排號(hào)。從第1個(gè)人開(kāi)始報(bào)數(shù)(從1到3報(bào)數(shù)),凡報(bào)到3的人

退出圈子,問(wèn)最后留下的是原來(lái)的第幾號(hào)的那位。

輸入

初始人數(shù)n

輸出

最后一人的初始編號(hào)

樣例輸入

3

樣例輸出

2

#include<stdio.h>

constintM=3;

intmain()

(

intn,s=0;

scanf(〃炊1〃,&n);

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

s=(s+M)%i;

printf(,z%d\nz/,s+1);

return0;

)

1079:語(yǔ)法百題人民幣問(wèn)題

時(shí)間限制:1Sec內(nèi)存限制:128MB

題目描述

給出任意的人民幣(>10元)的整幣兌換成5元、2元和1元幣值(要求三種幣值均有)

的方法有多少種。

輸入

輸入任意的人民幣(>10元)的整幣100,50,20,10

輸出

計(jì)算出兌換成5元、2元和1元幣值(要求三種幣值均有)的方法有多少種

溫馨提示

  • 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)論