因为字数限制,进行分割。
二、课后练习答案:(不抄题目,没有课本的人可以到网上去下一本)
4.02
#include <iostream>
using namespace std;
void main()
{
int i,temp1=1,temp2=0;
for(i=1;i<=15;i++)
{
temp1*=i;
temp2+=temp1;
}
cout<<"所求的值为:"<<temp2<<endl;
}
4.03.这一题是求水仙花数
#include <iostream>
using namespace std;
void main()
{
int i,a,b,c;
for(i=100;i<=999;i++)
{
a=i%10;//个位
b=(i/10)%10;//十位
c=i/100;//百位
if(a*a*a+b*b*b+c*c*c==i)cout<<i<<"是水仙花数\n";
}
}
4.04这一题是求完数
#include <iostream>
using namespace std;
void main()
{
int i,j,temp=0;
for(i=1;i<1000;i++)
{
for(j=1;j<=i/2;j++)
if(i%j==0)temp+=j;
if(temp==i)cout<<i<<"是完数\n";
temp=0;
}
}
4.05
#include <iostream>
using namespace std;
void main()
{
int i,n;
cout<<"降落的次数\n";
cin>>n;
double temp1=100,temp2=100;
for(i=2;i<=n;i++)
{
temp2/=2;
temp1+=temp2*2;
}
cout<<"落"<<n<<"次的总路程为:"<<temp1<<endl;
cout<<"落"<<n<<"次后反弹的高度为:"<<temp2/2<<endl;
}
4.06
#include<iostream>
using namespace std;
void main()
{
int i,j,temp;
for(i=1;i++;)//其实可以不需要从第一个桃子开始尝试
{
temp=i;
for(j=1;j<10;j++)
{
temp=temp/2-1;
if(temp<=0)break;
}
if(temp==1)
{
cout<<"第一天公摘桃子:"<<i<<endl;
break;
}
}
}
这一题看了 一下网络版的答案,发现人家是逆推过来的,好像比较简单,如下
#include <iostream.h>
void main()
{
int peachs=1;
for(int i=1; i<10; i++)
peachs=(peachs+1)*2;
cout <<"第一天共摘下" <<peachs <<"个桃子.\n";
}
4.07一般而言,使用迭代法的程序的循环一般采用do-while形式。
#include<iostream>
#include<math.h>
using namespace std;
void main()
{
double Xn=1,Xm=1,a;
cout<<"请输入一个的数值:";
cin>>a;
do
{
Xn=Xm;
Xm=(Xn+a/Xn)/2;
}
while(fabs(Xm-Xn)>=1e-7);
cout<<"这个值的平方根是:"<<Xm<<endl;
}
正文
钱能的《C++程序设计教程》序列四:chapter4第二部分2005-07-21 12:41:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/xiangyu/3053.html
阅读(3394) | 评论(0)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论