- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章循环语句
6.1输入两个正数,求最大条约数和最小公倍数.
intmain( )
{
inta,b,num1,num2,temp;printf(请输入两个正整数:\n);scanf(%d,%d,num1,num2);if(num1num2)
{
temp=num1;num1=num2;
num2=temp;
}a=num1,b=num2;while(b!=0)
{temp=a%b;a=b;b=temp;
}
printf(它们的最大条约数为:%d\n,a);
printf(它们的最小公倍数为:%d\n,num1*num2/a);return0;
}我感觉这样不是更简单吗:首先用scanf输入两个整数a,bif(ab)c=a;
elsec=b;
for(;c0;c--)
if((a%c)(b%c)==0)
break;
printf(最大条约数为%d,c);
printf(最大公倍数为%d,a*b/c);
6.2输入一行字符,分别统计出其中英文字母,空格,数字和其余字符的个数解:
#includestdio.h
intmain( )
{
charc;
intletters=0,space=0,degit=0,other=0;
printf(请输入一行字符:\n);
while((c=getchar( ))!=\n)
{if(c=ac=z||cAc=Z)letters++;elseif(c==)space++;else
if(c=0c=9)digit++;elseother++;
}
printf(其中:字母数=%d空格数=%d数字数=%d其余字符数
=%d\n,letters,space,digit,other);
return0;
}
6.3求s(n)=a+aa+aaa++aa??之值,其中a是一个数字,n表示a的位数。解:
intmain( )
{
inta,n,count=1,sn=0,tn=0;
printf(请输入a和n的值:\n);scanf(%d,%d,a,n);printf(a=%dn=%d\n,a,n);
while(count=n)
{
tn=tn+a;
sn=sn+tn;a=a*10;++count;
}
printf(a+aa+aaa+=\n%,dsn);return0;
}循环体改成:count=1,sn=0;
{
sn+=a;a+=10a;count++;
}
20
6.4求
n!(即1+2!+3!+4!++20
n2
intmain( )
{
floatn,s=0,t=1;
for(n=1;n=20;n++)
{
t=t*n;
s=s+t;
}
printf(1!+2!++20!=%6);
return0;
}
阶乘利用递归,再求和:
#includeiostreamusingnamespacestd;
longFunc(intn)
{if(1==n)returnn;if(n1)
returnn*Func(n-1);
}main( )
{
longs=0;
inti=1;
while(i=6)
{
s=s+Func(i);i++;
}
coutsendl;
6.5intmain( )
{
intk,N1=100,N2=50,N3=10;
floats1=0.0,s2=0.0,s3=0.0;
for(k=1;k=N1;k++)/*计算1到100的和*/{
s1=s1+k;
}
for(k=1;k=N2;k++)/*计算1到50各数平方和*/
{s2=s2+k*k;
}
for(k=1;k=N3;k++)/*计算1到10各数倒数之和*/{
s3=s3+1.0/k;
}
printf(总和=%8.2f\n,s1+s2+s3);return0;
}
已经过
intmain( )
{
intk=1,i=11,j=51;
floats=0.0;while(k=10)
{s=s+k+k*k+1.0/k;while(k==10i=50){s=s+i+i*i;while(i=50j=100)
{s=s+j;j++;
}i++;
}k++;
}
}
6.6所谓“水仙开数”是指一个3位数,其个位数字立方和等于该数本身。intmain( )
{
inti,j,k,n;
printf(水仙花数是:);
for(n=100;n1000;n++)
{
i=n/100;
j=n/10-i*10;
k=n%10;
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
{printf(%d,n);
}
}
printf(n‘);
return0;
}
6.7一个数如果恰巧等于它的因子之和,这个数就称为“完数”。编程序找出1000之内的所有完数,并按下面格式输出其因子。
#includestdio.h
#defi
您可能关注的文档
- BEC词汇职业名称节选(二).docx
- BEC中级听力全真试题.docx
- be动词变一般疑问句练习.docx
- be动词的一般现在时小学英语.docx
- be动词情态动词和实义动词的区别.docx
- BIM技术应用现状.docx
- BIM考试初级试题.docx
- BIM在装饰装修的应用.docx
- bird鸟学习化妆等83941.docx
- Book2U1教案新部编本课时8Project.docx
- uscpa讲师hannah评论基本概念错误校正模块9 farweek1.pdf
- 台式计算机样本rde64294.pdf
- 成果ielts lesson 2 dated雅思课期.pdf
- 单元一个老人试图移动山脉u6 section 2dU6.pptx
- 四节固定资产处置.pptx
- 从到二容器管理工具课件.pptx
- wmb esb pot lab scenario introduction实验室方案介绍.pptx
- 英语六级下册教学课件unit 8 period 2.pptx
- sw通过信息发布-1诺基亚解决方案网络2015bsc16 release via information ver10.pdf
- shdl-fantasyland设施水泥会包裹james hardie board package 1套餐rev1 FANDEND.pdf
文档评论(0)