第四周作业

来源:互联网 发布:软件下载大全360 编辑:程序博客网 时间:2024/06/07 11:07

课本习题

5

#include<iostream>   using namespace std;  int fac(int n)  {   int result = 1;      while (n>0)      {   result *= n;          n--;      }      return result;  }  int main()  {      int n=1;      double e=0,t=1;      for(;t>=1e-6;n++)      {          e+=t;          t=1.0/fac(n);              }      cout<<"e="<<e<<endl;            return 0;  }


6

#include<iostream>   #include<cmath>   using namespace std;  int main()  {      double count=0,m=3,t=-1,z=1;      for(;fabs(z)>=1e-6;t=-t)      {                    count+=z;          z=(1.0/m)*t;          m+=2;              }      cout<<"π="<<count*4<<endl;      return 0;  }


7

#include <iostream>   using namespace std;  int main()  {    int n;    cout<<"please enter a number"<<endl;    cin>>n;    if((n/10)==0)        cout<<n<<" is less than 10"<<endl;    else if((n/100)==0)        cout<<n<<" is 10 to 100"<<endl;    else if((n/1000)==0)        cout<<n<<" is 100 to 1000"<<endl;    else        cout<<n<<" is more than 1000"<<endl;      return 0;  }  


8

#include<iostream>   #include<iomanip>   using namespace std;  int main()  {      int j,i;      for(i=1; i<=4; i++)      {          for(j=1; j<=5-i; j++)              cout<<setw(2)<<" ";            for(j=1;j<=2*i-1;j++)              cout<<setw(2)<<'*';       cout<<endl;       }      for(i=1;i<=3;i++)      {          for(j=4;j>=4-i;j--)              cout<<setw(2)<<" ";          for(j=4;j>=2*i-2;j--)              cout<<setw(2)<<'*';          cout<<endl;      }  return 0;  }


9

#include <iostream>   using namespace std;  int main()  {      int count=0,n=1;      for(;count<=1000;n++)      {          count+=n*n;              }      cout<<"n="<<n-1<<endl;        return 0;  }  


10

#include<iostream>   #include<cmath>   using namespace std;  int main()  {      double sum1=0,sum2=0.1,day=1;      for(;day<=30;day++)      {          sum1+=100000;          sum2*=2;            }      cout<<"陌生人给了百万富翁:"<<std::fixed<<sum1<<"元"<<endl;      cout<<"百万富翁给了陌生人:"<<std::fixed<<sum2<<"元"<<endl;      return 0;  }  


11

#include <iostream>   using namespace std;  int main()  {    int i=1;    int t=1;    while(i<=9)    {            while(t<=i)      {        cout<<t<<"*"<<i<<"="<<i*t<<" ";        t++;      }      t=1;      cout<<endl;      i++;   }    return 0;  }  

2.编程求“百钱百鸡”问题。(鸡翁一值钱五,鸡母 一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?)

 

 

3.编程输入一个整数,计算它是几位数字,分别输出每一位数字,并输出各个数位上数字之和。

 

#include<iostream>using namespace std;int main(){int n,i=0,sum=0,p;cout<<"请输入一个数=";cin>>n;      cout<<"每位数从低到高依次为:";      while(n!=0)      {          p=n%10;          sum+=p;          n=n/10;          cout<<p<<'\t';          i++;      }      cout<<endl;      cout<<"这是一个"<<i<<"位数"<<endl;      cout<<"各位数之和="<<sum<<endl;      return 0;  } 


 

4.在一个平面上,有四个圆柱形塔,塔底圆心坐标分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),塔半径为1,塔高为10米,塔外无建筑物。编程,输入任一个点平面坐标,求该点建筑物的高度。

 

 

#include<iostream>   #include<math.h>   using namespace std;  int main()  {      float x,y;      cout<<"请输入横坐标x=";      cin>>x;      cout<<"请输入纵坐标y=";      cin>>y;      x=abs(x);      y=abs(y);      if((x-2)*(x-2)+(y-2)*(y-2)<=1)           cout<<"建筑物的高度为10米"<<endl;      else          cout<<"建筑物的高度为0米"<<endl;      return 0;  } 


5.编程计算s=1!+2!+3!+......n!(其中n为整数,n!表示计算n阶乘),要求使用两种以上的方法。

 

#include<iostream>   using namespace std;  int main()  {      int a,b,sum=0,i,fact=1,n;      cout<<"请输入你要查看的方法1(for)或2(while)";      cin>>a;      if(a=1)      {          cout<<"请输入你要计算的项数=";          cin>>n;          for(b=1;b<=n;b++)          {              for(i=1;i<=b;i++)                  fact*=i;              sum+=fact;          }      cout<<"sum="<<sum<<endl;      }      else      {          cout<<"请输入你要计算的项数=";          cin>>n;          b=1;          while(b<=n)          {              i=1;              while(i<=b)              {                  fact*=i;                  sum+=fact;                  i++;              }          b++;          }      cout<<"sum="<<sum<<endl;      }      return 0;  }  


 

6.猴子吃苹果问题:猴子第一天摘了若干个苹果,当时吃了一半,还不过隐,又多吃了一个。第二天,又吃掉余下的一半,又多吃一个。以后每一天,都是吃掉前一天余下的一半零一个。到第10天,只有一个苹果了。问猴子第一天共摘了多少个苹果?

 

#include<iostream>   using namespace std;  int main()  {      int i,n;      i=1,n=1;      while(i<=9)      {          n+=1;          n=2*n;          i++;      }      cout<<"第一天总共摘了"<<n<<"个苹果"<<endl;      return 0;  } 


 

7.计算s[n]=a+aa+aaa+aa...a(n个)的值。其中a是一个数字,n表示a的位数。例如,当a=1,n=5时,则要计算的表达式为

    s[5]=1+11+111+1111+11111

 

 

#include<iostream>  using namespace std;    int main()  {      int a,b=0,n,s=0,i=1;      cout<<"s[n]=a+aa+aaa+aa...a(n个)的值"<<endl;      cout<<"请输入一个小于10的正整数a"<<endl;      cin>>a;      cout<<"请输入一个正整数n"<<endl;      cin>>n;      while(i<=n)      {          b=b*10+a;          s +=b;          i++;                }      cout<<"s[n]="<<s<<endl;        return 0;  } 


8.打印九九乘法表。

 详见习题11

 

9.两个羽毛队进行单打比赛,各出3个人。甲队为张三、李四、王五3个队员,已队为陈六、赵七、宋八3个队员。现已经抽签决定比赛名单,有人向队员打听比赛名单,张三说他不和陈六打,王五说他不和陈六和宋八打。请编程找出3对比赛名单。

 

#include<iostream>    using namespace std;        int main()    {        int m=0;        char x,y,z;       cout<<"将张三,李四,王五分别记为a,b,c"<<endl;        cout<<"将陈六,赵七,宋八分别记为A,B,C"<<endl;        for(x='A';x<='C';x++)            for(y='A';y<='C';y++)                for(z='A';z<='C';z++)                {                    if(x!=y&&x!=z&&y!=z)                    {                        if(x!='A'&&z!='A'&&z!='C')                        {                            cout<<"比赛名单如下:"<<endl;                            cout<<"a--"<<x<<"  "<<"b--"<<y<<"  "<<"c--"<<z<<"  ";                            }                    }                }         return 0;    }


 

10.积累调试程序经验,收集错误信息原因(每个同学收集3-5条错误信息原因,并输入电脑形成文字)。

太多 不想说了... 

0 0