正文

钱能的《C++程序设计教程》序列四:chapter4第二部分2005-07-21 12:41:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/xiangyu/3053.html

分享到:

因为字数限制,进行分割。 二、课后练习答案:(不抄题目,没有课本的人可以到网上去下一本) 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; }

阅读(3567) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册