第五章循环结构Word文档格式.docx
《第五章循环结构Word文档格式.docx》由会员分享,可在线阅读,更多相关《第五章循环结构Word文档格式.docx(30页珍藏版)》请在冰豆网上搜索。
若正整数A的所有因子(包括1但不包括自身,下同)之和为B,而B的因子之和为A,则称A和B为一对亲密数对。
23、求
(即求1!
+2!
+3!
+...+20!
)。
24、两个乒乓球队进行比赛,各出3人。
甲队为A,B,C等3人,乙队为X,Y,Z等3人。
已经抽签决定比赛名单。
有人向队员打听比赛的名单,A说他不和X比,C说他不和X,Z比,请编程找出3对比赛选手的名单。
25、判断101-200之间有多少个素数,并输出所有素数。
循环练习:
26、用1到9组成3个3位数,且三者之比为1:
2:
3(稍有难度)。
27、一个四位数,前两位相同,后两位相同,并且该四位数是一个整数的平方,编程找出这个四位数。
28、个位数为6且能被3整除的五位数共有多少?
29、求100到1000之间有多少个其数字之和为5的整数。
30、设N是一个四位数,它的9倍恰好是其反序数,求N。
反序数就是将整数的数字倒过来形成的整数。
31、问555555的约数中最大的三位数是多少?
32、打印如下图所示数字图形:
33、在下面式子中的二个□内填入一个同样的数字,使等式成立。
□3*6528=3□*8256
34、A、B两个自然数的和、差、积、商四个数加起来等于243,求A、B两数。
35、有三种明信片:
第一种每套一张,售价2元;
第二种每套一张,售价4元;
第三种每套9张,售价2元。
现用100元钱要买100张明信片,要求每种明信片至少要买一套,问三种明信片应各买几套?
请输出全部购买方案。
(14,14,831,6,7)
36、输入十个裁判的打分,去掉一个最高分,去掉一个最低分,求最终平均分。
37、有人想将手中一张面值100元的人民币换成5元、1元、0.5元面值的零钱100张,以上三种面值的零钱至少有一张,问共有几种换法。
38、用近似公式求自然对数的底e的值。
39、写一程序,要求用户在键盘上输入一个整数,并把每位数字转换为英文。
例如:
输入1024时,输出OneZeroTwoFour。
40、韩信有一队兵,他想知道有多少人,便让士兵排队报数:
按从1到5报,最末一个士兵报的数为1;
按从1到6报,最后一个士兵报的数为5,按从1到7报,最末一个士兵报的数为4;
最后在按从1到11报,最末一个士兵报的数为10.你知道韩信至少有多少兵吗?
41、一个正整数有可能可以被表示为n(n>
=2)个连续正整数之和,如:
15=1+2+3+4+5
15=4+5+6
15=7+8
请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。
未找到序列数,输出NONE
42、父亲对儿子说:
“做对一道题给8分,做错一道题扣5分。
”做完26题后,儿子得0分,问儿子做对了几题?
43、在爱尔兰守神节那天,举行每年一度的庆祝游戏,指挥者若将乐队排成10人、9人、8人、7人、6人、5人、4人、3人和2人时,最后的一排总是缺少一个人,那些人想这个位置大概是给数月前死去的乐队成员凯西还留着位置。
指挥者见到总缺一人恼火了,叫大家排成一列纵队前进。
假定人数不超过7000人,那么乐队究竟有多少人?
44、输入任一自然数,求其反序数及其位数,并输出。
45、输出下面的图形:
46、输出下面的数字图形(拉丁方阵):
47、编程输出1-10000以内所有的回文数,并统计个数。
48、今年父亲30岁,儿子6岁,问多少年以后父亲的年龄正好是儿子的2倍?
49、
(1)编程计算1-2+3-4……+9999-10000的结果。
(2)编程计算1+4+9+16+25+……+10000的结果。
50、任何一个自然数m的立方均可写成m个连续奇数之和。
1^3=1
2^3=3+5
3^3=7+9+11
4^3=13+15+17+19
编程实现:
输入一自然数n,求组成n^3的n个连续奇数。
51、马克思在《数学手稿》中提出如下问题:
有30个人(包括男人、女人和小孩)在一家饭店吃饭共花50先令,其中每个男人花3先令,每个女人花2先令,每个小孩花1先令,问男人、女人、小孩各有多少人?
52、打印蛇形数字图形:
53、打印下面的“回形”数字图形:
54、打印字母金字塔:
55、
第3题:
main()
{
longints=0,i=1,n,x,y;
printf("
n="
);
scanf("
%ld"
&
n);
x="
x);
y=x;
while(i<
=n)
{
s=s+x;
if(i==n)
x);
else
%ld+"
x=x*10+y;
i++;
}
=%ld"
s);
getch();
}
第7题:
intmain(void)
intmin=0,max=0,i=1,x=0;
No.%d:
"
i);
%d"
min=max=x;
=10)
if(min<
x)
min=x;
if(max>
max=x;
max=%d\n"
max);
min=%d"
min);
return0;
第10题
方法一:
intm,n,x,y,r,s;
m="
m);
x=m;
y=n;
r=m%n;
while(r!
=0)
m=n;
n=r;
yueshu=%d\n"
n);
s=x*y/n;
beishu=%d\n"
方法二:
intm,n,i,xiao,da,x;
if(m<
n)
{xiao=m;
da=n;
{xiao=n;
da=m;
for(i=xiao;
i>
=1;
i--)
if(n%i==0&
&
m%i==0)
zuidagongyueshu:
%d\n"
break;
for(i=da;
i<
=m*n;
i+=da)
if(i%m==0&
i%n==0)
zuixiaogongbeishu:
第13题:
chari;
intj;
for(i='
A'
j=1;
='
z'
;
i++,j++)
if(i>
'
Z'
a'
continue;
if(i=='
\n\n"
j=1;
if(j%5==0)
%c'
=%3d\n"
i,i);
=%3d"
第14题
intletters,spaces,digits,others;
charc;
letters=spaces=digits=others=0;
while((c=getchar())!
\n'
if(c>
c<
||c>
letters++;
elseif(c=='
'
spaces++;
elseif(c>
0'
9'
digits++;
others++;
letters=%d,spaces=%d,ditits=%d,others=%d"
letters,spaces,digits,others);
第16题
main()
inti,j,n;
for(j=-n+1;
j<
=n-1;
j++){
for(i=1;
=n-abs(j);
i++){
*"
\n"
第17题:
(图一)
inti,j,k,n;
=n;
j+=2)
for(k=1;
k<
=abs(j)/2;
k++)
"
i++)
(图二)
if(i==1||i==n-abs(j))
第18题:
for(i=0;
=9;
for(j=0;
j++)
for(k=0;
if(i*i*i+j*j*j+k*k*k==i*100+j*10+k&
i*100+j*10+k>
99)
%d%d%d\n"
i,j,k);
第19题:
inti,j,k;
=25;
for(j=1;
=33;
k=100-i-j;
if(i*5+j*3+k/3==100&
k%3==0)
%d,%d,%d\n"
i,j,k);
第24题:
chari,j,k;
/*i是a的对手,j是b的对手,k是c的对手*/
x'
for(j='
if(i!
=j)
for(k='
=k&
j!
=k)
k!
orderisa->
%c\tb->
%c\tc->
%c\n"
第26题:
inti,j,k,x1,x2,x3,t1,t2,t3,s1,s2,s3;
for(x1=123;
x1<
333;
x1++)
i=x1%10;
j=x1/10%10;
k=x1/100;
if((i-j)*(j-k)*(i-k)!
=0&
i!
x2=2*x1;
x3=3*x1;
t1=x2%10;
if(t1==i||t1==j||t1==k||t1==0)
t2=x2/10%10;
if(t2==i||t2==j||t2==k||t2==0)
t3=x2/100;
if(t3==i||t3==j||t3==k||t3==0)
s1=x3%10;
if(s1==i||s1==j||s1==k||s1==t1||s1==t2||s1==t3||s1==0)
s2=x3/10%10;
if(s2==i||s2==j||s2==k||s2==t1||s2==t2||s2==t3||s2==0)
s3=x3/100;
if(x3==i||x3==j||x3==k||s3==t1||s3==t2||s3==t3||s2==0)
if((t1-t2)*(t1-t3)*(t2-t3)!
(s1-s2)*(s1-s3)*(s2-s3)!
x1,x2,x3);
inta[9];
ok(intt,int*z)
int*p1,*p2;
for(p1=z;
p1<
z+3;
p1++)
*p1=t%10;
t/=10;
for(p2=a;
p2<
p1;
p2++)
if(*p1==0||*p2==*p1)
return1;
voidmain()
intm,count=0;
for(m=123;
m<
=333;
m++)
if(ok(m,a)&
ok(2*m,a+3)&
ok(3*m,a+6))
No.%d:
%d%d%d\n"
++count,m,2*m,3*m);
第32题:
#include"
math.h"
inti,j,count=0;
for(i=-9;
9;
=9-abs(i);
%-2d"
++count);
count=count-j*2+3;
inti,j=1,count=0;
%*c"
abs(i*2)+1,'
%3d"
第39题:
(缺点:
只能固定N的值小于5位数)
/*i:
n的位数j:
循环变量d:
取出N中的每一位数(从高位开始)*/
intn,i,j,d,s;
if(n>
=10000)
{i=5;
s=10000;
elseif(n>
=1000)
{i=4;
s=1000;
=100)
{i=3;
s=100;
{i=2;
s=10;
{i=1;
s=1;
=i;
d=n/s;
n=n%s;
s=s/10;
switch(d)
case0:
ZERO"
case1:
One"
case2:
two"
case3:
three"
case4:
four"
case5:
five"
case6:
six"
case7:
seven"
case8:
eight"
case9:
nine"
(任意位数)
longintn,g,s=0,w1=0,w2=0,s2,i;
while(n!
g=n%10;
n=n/10;
s=s*10+g;
w1++;
s2=s;
while(s2!
s2=s2/10;
w2++;
while(s!
g=s%10;
switch(g)
Two"
Three"
Four"
Five"
Six"
Seven"
Eight"
Nine"
Zero"
default:
WRONG"
=(w1-w2);
第41题:
inti,j,k,n,s=0,flag=0;
=n/2;
{s=0;
for(j=i;
n;
s+=j;
if(s==n)
for(k=i;
=j;
%d"
k);
flag=1;
if(s>
if(flag==0)
NONE"
第44题
longintn,fan=0,wei=0,x;
do{
x=n%10;
fan=fan*10+x;
wei++;
}while(n!
=0);
fan=%ld,weishu=%ld"
fan,wei);
第45题:
=2*i-1;
%c"
i+’A’-1);
(第三个图)
main(void)
for(j=n-i;
j>
j--)
=2*