实验5循环结构参考答案文档格式.docx

上传人:b****3 文档编号:7084733 上传时间:2023-05-07 格式:DOCX 页数:21 大小:36.72KB
下载 相关 举报
实验5循环结构参考答案文档格式.docx_第1页
第1页 / 共21页
实验5循环结构参考答案文档格式.docx_第2页
第2页 / 共21页
实验5循环结构参考答案文档格式.docx_第3页
第3页 / 共21页
实验5循环结构参考答案文档格式.docx_第4页
第4页 / 共21页
实验5循环结构参考答案文档格式.docx_第5页
第5页 / 共21页
实验5循环结构参考答案文档格式.docx_第6页
第6页 / 共21页
实验5循环结构参考答案文档格式.docx_第7页
第7页 / 共21页
实验5循环结构参考答案文档格式.docx_第8页
第8页 / 共21页
实验5循环结构参考答案文档格式.docx_第9页
第9页 / 共21页
实验5循环结构参考答案文档格式.docx_第10页
第10页 / 共21页
实验5循环结构参考答案文档格式.docx_第11页
第11页 / 共21页
实验5循环结构参考答案文档格式.docx_第12页
第12页 / 共21页
实验5循环结构参考答案文档格式.docx_第13页
第13页 / 共21页
实验5循环结构参考答案文档格式.docx_第14页
第14页 / 共21页
实验5循环结构参考答案文档格式.docx_第15页
第15页 / 共21页
实验5循环结构参考答案文档格式.docx_第16页
第16页 / 共21页
实验5循环结构参考答案文档格式.docx_第17页
第17页 / 共21页
实验5循环结构参考答案文档格式.docx_第18页
第18页 / 共21页
实验5循环结构参考答案文档格式.docx_第19页
第19页 / 共21页
实验5循环结构参考答案文档格式.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

实验5循环结构参考答案文档格式.docx

《实验5循环结构参考答案文档格式.docx》由会员分享,可在线阅读,更多相关《实验5循环结构参考答案文档格式.docx(21页珍藏版)》请在冰点文库上搜索。

实验5循环结构参考答案文档格式.docx

=%ld\n"

n,fac);

{inti,n;

longfac;

for(i=1,fac=1;

=n;

fac*=i;

(3)输出所有的水仙花数。

(范围型)

{intn=100,a,b,c;

while(n<

=999)

{a=n/100;

b=n/10%10;

c=n%10;

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

%6d"

n);

n++;

\n"

);

{intn,a,b,c;

for(n=100;

n<

=999;

n++)

(4)判断n是否为素数。

(反向思维型)

{intn,i=2;

=n-1)

{if(n%i==0)break;

if(i>

%disaprimenumber\n"

else

%disnotaprimenumber\n"

{intn,i;

for(i=2;

=n-1;

(5)输出100-300之间能同时被3和5整除的数。

(用continue语句)

(每行输出5个数)

{inti,k;

for(i=100,k=0;

=300;

{if(i%3!

=0||i%5!

=0)

continue;

/*当i不被3或5整除时,继续下一次循环*/

k++;

i);

if(k%5==0)printf("

/*当k为5的倍数时换行,即每行输出5个数*/

(6)输入任意n个数,输出其中最大数和最小数,并输出它们在序列中

的位置。

#include<

{inti,n,max_location=1,min_location=1;

floatx,max,min;

inputn:

"

/*输入数的个数*/

 

printf("

inputthefirstnumber:

%f"

x);

/*输入第一个数*/

max=min=x;

/*假设第一个数既是最大数,也是最小数*/

i++)/*从第二个数开始循环,所以i=2*/

{printf("

inputthe%dthnumber:

scanf("

if(x>

max)

{max=x;

max_location=i;

}/*如果x>

max,则赋给max,并记下位置*/

if(x<

min)

{min=x;

min_location=i;

}/*如果x<

min,则赋给mix,并记下位置*/

}

\nmax=%6.2f,max_location=%d\n"

max,max_location);

\nmin=%6.2f,min_location=%d\n"

min,min_location);

(7)输出以下图形

(1):

(8)输出以下图形

(2):

(9)

输出以下图形(3):

图形

(1)图形

(2)图形(3)

{inti,j;

for(i=1;

=4;

{for(j=1;

j<

=4-i;

j++)

"

for(j=1;

=2*i-1;

*"

for(i=3;

i>

=1;

i--)

=5;

=5-i;

for(j=1;

j);

for(i=4;

=i;

for(j=i-1;

j>

j--)

(10)编写输出如下字母塔的程序:

A

ABA

ABCBA

ABCDCBA

………………

……………………

…………………………

ABCDEFGHIJKLMNOPQRSTUVWXWVUTSRQPONMLKJIHGFEDCBA

ABCDEFGHIJKLMNOPQRSTUVWXYXWVUTSRQPONMLKJIHGFEDCBA

ABCDEFGHIJKLMNOPQRSTUVWXYZYXWVUTSRQPONMLKJIHGFEDCBA

{inta,b;

for(a=1;

a<

=26;

a++)/*循环26次,输出26行*/

{for(b=1;

b<

=26-a;

b++)printf("

/*输出每行左边的空格*/

for(b=1;

=a;

%c"

b+64);

/*输出每行左边(包括中间)的字母*/

for(b=a-1;

b>

b--)printf("

/*输出每行右边(不包括中间)的字母*/

/*每行输出以后换行*/

2、计算多项式7+72+73+·

·

+7n的值,n由键盘输入。

{inti,n;

longt=1,s=0;

pleaseinputn:

{t*=7;

s+=t;

}/*每次循环t乘于7以后各单项累加*/

7+7*7+7*7*7+...=%ld\n"

s);

3、求

(即求1!

+2!

+3!

+……+20!

{inti;

doublet=1,s=0;

=20;

{t=t*i;

s=s+t;

1!

+2!

+...+20!

=%lf\n"

4、输入2个正整数m,n,求其最大公约数和最小公倍数。

{intm,n,t,p,r;

clrscr() 

;

pleaseinputtwonumbers:

\n"

%d,%d"

n,&

m);

if(n<

m)

{t=n;

n=m;

m=t;

p=n*m;

while(m!

{r=n%m;

m=r;

gysis:

%d\n"

gbsis:

p/n);

{intm,n,t,p,i;

for(i=m;

1;

{if(n%i==0&

&

m%i==0)break;

p/i);

5、请编程序打印出以下数列:

1、1、2、3、5、8、13、…的前40项。

每行输出4个数。

(斐波那契数列)

方法一:

longf1=1,f2=1,f;

%12ld%12ld"

f1,f2);

=40;

{f=f1+f2;

%12ld"

f);

if(i%4==0)printf("

f1=f2;

f2=f;

方法二:

longf1=1,f2=1;

{printf("

f1=f1+f2;

f2=f2+f1;

if(i%2==0)printf("

6、求100~200间的全部素数。

每行输出6个数。

{intn=101,k=0,i;

200)

{for(i=2;

if(n%i==0)break;

if(i>

=n)

{printf("

k+=1;

if(k%6==0)printf("

n=n+2;

}

{intn,k=0,i;

for(n=101;

200;

n=n+2)

}

7、“鸡兔同笼”是一个中国古算题,最早出现在《孙子算经》中。

笼中有若干只鸡和兔子,它们共有88个头,244只脚,问鸡和兔各有多少只?

{inti,head=88,foot=244,rabbit,chick;

for(i=0;

=head;

i++)

{rabbit=i;

chick=head-rabbit;

/*满足共有88个头的条件*/

if(rabbit*4+chick*2==foot)/*满足共有244只脚的条件*/

rabbit=%d,chick=%d\n"

rabbit,chick);

}

8、求下列分数序列的前20项之和。

(sum=32.660259)

,……

floatfz=2,fm=1,s=0;

{s=s+fz/fm;

fz=fz+fm;

fm=fz-fm;

sum=%9.6f\n"

9、输入x值,按照公式计算cos(x)的值,直到最后一项小于10-6为止。

math.h>

{floatsum,term,x;

intk=0,sign=1;

pleaseinputx:

scanf("

x);

term=1;

sum=1;

/*第一项直接赋值*/

while(fabs(term)>

=1e-6)

{k=k+2;

term*=x*x/k/(k-1);

/*计算单项值*/

sign=-sign;

/*符号变量,用来实现正负号转换*/

sum+=sign*term;

/*累加*/

printf("

sum=%6.2f\n"

sum);

10、找出1000之内的所有完数,一个数如果恰好等于它的因子之和,这个数就称为“完数”。

例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。

输出时按下面的格式输出其因子:

6itsfactorsare1,2,3

{inti,n,s;

for(n=2;

1000;

{s=0;

n;

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

if(s==n)

%d,itsfactorsare:

if(n%i==0)printf("

%d,"

补充作业:

(以下题目任选2题)

1、我国古代有一道有名的数学难题,称为“百鸡问题”:

鸡翁一,值钱五;

鸡母一,值钱三;

鸡雏三,值钱一。

百钱买了百鸡,问鸡翁、鸡母、鸡雏各买了多少只?

{inti,j,k;

for(i=1;

for(j=1;

=33;

{k=100-i-j;

if((k%3==0)&

(i*5+j*3+k/3==100)&

k)printf("

%4d%4d%4d\n"

i,j,k);

/*满足鸡雏k为整数且大于等于1只,同时正好买了100元钱*/

2、猴子吃桃问题。

猴子第一天摘下若干桃子,当即吃了一半,还不过瘾,又多吃了一个。

第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

以后每天早上都吃了前一天剩下的一半零一个。

到第10天早上再想吃时,就只剩一个桃子了。

求第一天猴子共摘了多少桃子。

{inti,x1,x2=1;

for(i=9;

{x1=(x2+1)*2;

x2=x1;

total=%d\n"

x1);

3、输入m个字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

{charch;

intletters=0,space=0,digit=0,other=0;

while((ch=getchar())!

='

\n'

{if(ch>

a'

&

ch<

z'

||ch>

A'

Z'

letters++;

elseif(ch=='

'

space++;

elseif(ch>

0'

ch<

9'

digit++;

other++;

lettersis:

%d\n"

letters);

spaceis:

space);

digitis:

digit);

otheris:

other);

4、输入一个自然数,计算各数位上数字之和。

如:

5246对应和为5+2+4+6=17。

{intn,s=0;

while(n>

0)

{s=s+n%10;

n=n/10;

sumis:

5、求S=1+12+123+1234+12345

{inti,t=0,s=0;

{t=t*10+i;

s=s+t;

s=%d\n"

6、对输入的一正整数a(a在1到9之间),求Sn=a+aa+aaa+..+aaa..a,(10个a),例a=3,则S=3+33+333+..+333..3

{inta,i=1;

doubletn=0,sn=0;

a);

a=%d\n"

a);

while(i<

=10)

{tn=tn*10+a;

sn=sn+tn;

++i;

sn=%.0lf\n"

sn);

{inta,i;

=10;

7、求1-999之间的所有同构数。

一个数出现在它的平方数的右端,这个数称为同构数。

5出现在25右侧5是同构数;

25出现在625右侧25也是同构数。

{longk,m,n;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2