c++的经典题型,课后习题

 

书上的课后作业。

有一个分数序列:1/2,3/2,5/3,8/5,13/8,.21/13........求出该数的前20项之和。

#include<iostream.h>
void main()
{
 int a=2,b=1,x=1;
 double sum=0;
while(x<=20)
{
 sum+=(double)a/b;
 a=a+b;
 b=a-b;
 
 x++;
 
}
cout<<sum<<endl;
}

注意类型要强制转换“ sum+=(double)a/b;“否则就会取整了。影响输出结果

 

百鸡百钱问题,有一只公鸡五元钱,母鸡3元,三只小鸡一元钱,问花100元买一百只鸡,可以怎么买,公鸡多少,母鸡多少,小鸡多少?

 

#include<iostream.h>
void main()
{
 int gj,mj,xj;
 for(gj=1;gj<=100;gj++)
 {
  for(mj=1;mj<=100;mj++)
  {
   xj=100-gj-mj;
   if(xj%3!=0)
   {
    continue;
   }
    if(gj*5+mj*3+xj/3==100)
    {
     cout<<"公鸡"<<gj<<"\t"<<"母鸡"<<mj<<"\t"<<"小鸡"<<xj<<endl;
    }
   
  }
 }
}

 注意:小鸡的个数是一元三个,是除以3。而不是乘以三

 

求水仙花数:

#include<iostream.h>
void main()
{
 int i,j,k;
 for(i=1;i<=9;i++)
 {
  for(j=0;j<=9;j++)
  {
   for(k=0;k<=9;k++)
   {
    if(i*i*i+j*j*j+k*k*k==i*100+j*10+k)
    {
     cout<<"此数是水仙花数"<<i*100+j*10+k<<endl;
    }
   }
  }
 }
}

 

 

求正数和:

#include<iostream.h>
void main()
{
 int x,sum=0,i=0;
 
 while(1)
 {
  cout<<"请输入数据"<<endl;
  cin>>x;
  if(x==0)
  {
   break;
  }
  if(x>0)
  {
   sum+=x;
   i++;
  
  }
  else
  {
   continue;
  }
  //cout<<"请输入数据"<<endl;
  //cin>>x;
 }
 cout<<"总和为"<<sum<<"个数为"<<i<<endl;
}

利用上了break与continue。只是为了熟悉这两个东西,不加也能写出这样功能的程序
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值