循环结构参考程序.docx

上传人:b****8 文档编号:10897209 上传时间:2023-02-23 格式:DOCX 页数:20 大小:40.89KB
下载 相关 举报
循环结构参考程序.docx_第1页
第1页 / 共20页
循环结构参考程序.docx_第2页
第2页 / 共20页
循环结构参考程序.docx_第3页
第3页 / 共20页
循环结构参考程序.docx_第4页
第4页 / 共20页
循环结构参考程序.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

循环结构参考程序.docx

《循环结构参考程序.docx》由会员分享,可在线阅读,更多相关《循环结构参考程序.docx(20页珍藏版)》请在冰豆网上搜索。

循环结构参考程序.docx

循环结构参考程序

1、编写一个程序,输入一个正整数N(N大于等于100小于等于999),求出100~N之间的所有水仙花数。

所谓的水仙花数是:

如果一个三位数的个位数、十位数、百位数的立方和等于该数自身,就称这个数为水仙花数。

#include

usingnamespacestd;

intmain()

{

intn,i,g,s,b;

cin>>n;

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

{

g=i%10;

s=i/10%10;

b=i/100;

if(g*g*g+s*s*s+b*b*b==i)

cout<

}

return0;

}

2、编写程序,从n个整数中找到最小的数并输出。

输入分2行:

第一行为n的值,第二行为n个整数。

#include

usingnamespacestd;

intmain()

{

intx,n,min,i;

cin>>n;

cin>>x;

min=x;

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

{

cin>>x;

if(x

min=x;

}

cout<

return0;

}

3、编写程序找出一个正整数n的各位数字中最大的数字,n由键盘输入。

#include

usingnamespacestd;

intmain()

{

intn,max,t;

cin>>n;

max=0;

while(n>0)

{

t=n%10;

if(t>max)

max=t;

n/=10;

}

cout<

return0;

}

4、有一分数序列

,计算该序列的前n项和,n由键盘输入。

#include

usingnamespacestd;

intmain()

{

inti,n,p,q,temp;

floats=0;

cin>>n;

p=2;

q=1;

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

{

s+=1.0*p/q;

temp=p+q;

q=p;

p=temp;

}

cout<

return0;

}

5、编写程序求a+aa+aaa+aaaa+…+aaa…a(n个a)之和,其中a和n由键盘输入。

#include

usingnamespacestd;

intmain()

{

ints,i,n,a,t;

cin>>a>>n;

t=0;

s=0;

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

{

t=t*10+a;

s+=t;

}

cout<

return0;

}

6、已知

,计算S的值,直到某一项的绝对值小于e为止(小于e的这项不累加),e由键盘输入。

#include

usingnamespacestd;

intmain()

{

intn,f;

doubles,t,e;

cin>>e;

s=0;

n=1;

f=1;

t=1.0/n;

while(t>=e)

{

s+=f*t;

f=-f;

n+=4;

t=1.0/n;

}

cout<

return0;

}

7、输入一行字符,以字符0作为结束标志,输出这行字符对应的ASCII码值之和。

#include

usingnamespacestd;

intmain()

{

chara;

ints=0;

cin>>a;

while(a!

='0')

{

s+=a;

cin>>a;

}

cout<

return0;

}

8、已知

,计算该序列的前N项和SN,直到SN大于q为止,q由键盘输入。

#include

usingnamespacestd;

intmain()

{

doubles,n,q;

cin>>q;

s=0;

n=1;

while(s<=q)

{

s+=(n+1)/n;

n++;

}

cout<

return0;

}

9、一个百万富翁碰到一个陌生人,陌生人找他谈了一个换钱的计划.该计划如下:

我每天给你10万,而你第一天给我一块钱,第二天我仍给你十万,你给我二块钱,第三天我仍给你十万,你给我四块钱......你每天给我的钱是前一天的两倍,直到满n(0<=n<=30)天.百万富翁非常高兴,欣然接受了这个契约.请编写一个程序,计算这n天中,陌生人给了富翁多少钱,富翁给了陌生人多少钱.

#include

usingnamespacestd;

intmain()

{

intn,i,s,t;

cin>>n;

s=0;

t=1;

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

{

s+=t;

t=t*2;

}

cout<

cout<

return0;

}

10、求1~N的阶乘之和S,

,N由键盘输入,注意:

#include

usingnamespacestd;

intmain()

{

doubles,t;

inti,n;

cin>>n;

s=0;

t=1;

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

{

t=t*i;

s+=t;

}

cout<

return0;

}

11、已知

,输入正整数n和任意数x,计算S。

#include

usingnamespacestd;

intmain()

{

doublex,s,t;

inti,n;

cin>>n>>x;

s=1;

t=-1;

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

{

t=t*(-1)*x/i;

s+=t;

}

cout<

return0;

}

#include

usingnamespacestd;

intmain()

{

doublex,s,p,q;

inti,n,f;

cin>>n>>x;

s=1;

f=-1;

p=1;

q=1;

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

{

f=-f;

p=p*x;

q=q*i;

s+=f*p/q;

}

cout<

return0;

}

12、输入两个正整数a和b,求出其最大公约数和最小公倍数并输出。

#include

usingnamespacestd;

intmain()

{

inta,b,gy,gb;

cin>>a>>b;

gy=a;

while(a%gy!

=0||b%gy!

=0)

gy--;

gb=a;

while(gb%a!

=0||gb%b!

=0)

gb++;

cout<

return0;

}

#include

usingnamespacestd;

intmain()

{

inta,b,gy,gb,i;

cin>>a>>b;

for(i=1;i<=a;i++)

if(a%i==0&&b%i==0)

gy=i;

for(i=a*b;i>=a;i--)

if(i%a==0&&i%b==0)

gb=i;

cout<

return0;

}

#include

usingnamespacestd;

intmain()

{

inta,b,r,ji;

cin>>a>>b;

ji=a*b;

r=a%b;

while(r!

=0)

{

a=b;

b=r;

r=a%b;

}

cout<

return0;

}

13、编写程序求m到n之间(包括m和n,m<=n)素数的个数及其平均值,如果没有素数则输出no,m和n由键盘输入。

#include

usingnamespacestd;

intmain()

{

intm,n,i,j,gs,count=0;

doubles=0;

cin>>m>>n;

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

{

gs=0;

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

if(i%j==0)

gs++;

if(gs==2)

{

count++;

s+=i;

}

}

if(count==0)

cout<<"no";

else

{

s/=count;

cout<

}

return0;

}

14、一个数恰好等于它的因子之和,这个数就称为“完数”。

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

编写程序找出小于给定数n的所有“完数”,n由键盘输入。

#include

usingnamespacestd;

intmain()

{

intn,i,j,s;

cin>>n;

for(i=1;i

{

s=0;

for(j=1;j

if(i%j==0)

s+=j;

if(s==i)

cout<

}

return0;

}

15、已知

,其中分母为n以内(包括n)的素数,由键盘输入n值,计算S的值。

#include

usingnamespacestd;

intmain()

{

inti,j,n,count=0;

floats=0;

cin>>n;

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

{

count=0;

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

if(i%j==0)

count++;

if(count==2)

s+=1.0/i;

}

cout<

return0;

}

16、一个正整数,如果它能被7整除,或者它的某一位上的数字为7,则称其为与7相关的数。

现求所有小于等于n的与7无关的正整数的平方和。

#include

usingnamespacestd;

intmain()

{

intn,i,t,s=0,flag;

cin>>n;

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

{

if(i%7!

=0)

{

t=i;

flag=0;

while(t>0)

{

if(t%10==7)

flag=1;

t/=10;

}

if(flag==0)

s+=i*i;

}

}

cout<

return0;

}

17、一个正整数如果等于组成它的各位数字的阶乘之和,则该正整数称为阶乘和数。

例如正整数145,1!

+4!

+5!

等于145,因此145就是一个阶乘和数。

输入一个正整数,计算它的各位数字的阶乘之和,并判断它是否是一个阶乘和数。

注意:

输入的正整数,以及组成它的各位数字的阶乘之和都不会超过int类型的表示范围,并且输入的正整数的最高位不为0。

#include

usingnamespacestd;

intmain()

{

intn,s=0,t,i,jie,yuan;

cin>>n;

yuan=n;

while(n!

=0)

{

t=n%10;

jie=1;

for(i=2;i<=t;i++)

jie*=i;

s+=jie;

n/=10;

}

cout<

if(s==yuan)

cout<<"yes";

else

cout<<"no";

return0;

}

18、输入三位数字N,求两位数AB(其中个位数字为B,十位数字为A,且有0

使得下列等式成立:

ABxBA=N,其中BA是把AB中个、十位数字交换所得的两位数。

编写程序,接收控制台输入的三位整数N,求解A,B并输出。

如果没有解则输出"no"。

#include

usingnamespacestd;

intmain()

{

intn,i,j,x,y,flag=0;

cin>>n;

for(i=1;i<9;i++)

for(j=i+1;j<=9;j++)

{

x=i*10+j;

y=j*10+i;

if(x*y==n)

{

cout<

flag=1;

}

}

if(flag==0)

cout<<"no";

return0;

}

19、编写程序,从控制台读入一个分数的分子和分母(分数无符号,并且分子小于分母,其大小不会超过int数据类型的表示范围),输出化简后分子和分母不含公约数的分数。

#include

usingnamespacestd;

intmain()

{

intm,n,i;

cin>>m>>n;

i=m;

while(m%i!

=0||n%i!

=0)

i--;

cout<

return0;

}

#include

usingnamespacestd;

intmain()

{

intm,n,i;

cin>>m>>n;

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

if(m%i==0&&n%i==0)

{

m/=i;

n/=i;

i=1;

}

cout<

return0;

}

20、一个正整数有可能可以被表示为n(n>=2)个连续正整数之和,如:

15=1+2+3+4+5

15=4+5+6

15=7+8

请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。

#include

usingnamespacestd;

intmain()

{

intn,i,j,k,s,count;

cin>>n;

for(i=1;i<=n/2;i++)

{

s=i;

j=i+1;

while(s

{

s+=j;

j++;

}

if(s==n)

{

count++;

for(k=i;k

cout<

cout<

}

}

if(count==0)

cout<<"none";

return0;

}

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

当前位置:首页 > 医药卫生 > 中医中药

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1