C++第三次作业

来源:互联网 发布:科比2010年总决赛数据 编辑:程序博客网 时间:2024/05/21 17:51

作业要求:

       1.完成课本每一个编程题。要求先画出流程算法图或N-S图,然后编程实现,有可能的话使用两种以上方法;

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

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

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

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

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

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

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

       8.打印九九乘法表。

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

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


1、

(1)

#include <iostream>using namespace std;int main(){int x, t;cout<<"请输入t的值:"<<endl;        cin>>t;if(t){if(t>0)x = 1;else    x = -1;}elsex = 0;cout<<"t = "<<t<<"\t"<<"x = "<<x<<endl;return 0;}


(2)

#include<iostream>  using namespace std;  int main()  {      int i, j;      for(i = 0; i < 5; i++)      {          for(j = i; j < 5; j++)              cout<<"*";          cout<<endl;      }      return 0;  }

输出结果:




(3)

#include<iostream>  using namespace std;    int main()  {      long double e = 1.0, n = 1;      int i = 1;for(;1/n>=0.000001;)      {n *= i++;          e += 1.0/n;    }      cout<<"e的近似值为:"<<e<<endl;        return 0;  }
输出结果:


(4)

#include<iostream> #include <math.h> using namespace std;  int main()  {  int a, n = 1;    double b, c, s=1, pi;do{a=2*n+1;b=pow(-1,n);c=a*b;s+=1/c;n++;}while(a<=100000000);    pi=4*s;      cout<<"圆周率π="<<pi<<endl;      return 0;  }
输出结果:


(5)

#include<iostream>  #include<iomanip>  using namespace std;  int main()  {      cout<<setfill(' ')          <<setw(12)<<"*"<<endl          <<setw(14)<<"* * *"<<endl          <<setw(16)<<"* * * * *"<<endl          <<setw(18)<<"* * * * * * *"<<endl          <<setw(16)<<"* * * * *"<<endl          <<setw(14)<<"* * *"<<endl          <<setw(12)<<"*"<<endl;      return 0;  } 
输出结果:


(6)

#include<iostream>  using namespace std;  int main(){int num;cout<<"任意输入一个数:";cin>>num;if(num<10)cout<<num<<" 小于10"<<endl;else if(10<num<100)cout<<num<<" is 10 to 100"<<endl;else if(100<num<1000)cout<<num<<" is 100 to 1000"<<endl;else if(num>1000)cout<<num<<" 大于1000"<<endl;return 0;}


(7)

#include<iostream>  using namespace std;int main(){int sum = 0, n;for(n = 1;;n++){sum += n*n;if(sum>=1000)break;}sum -= n*n;cout<<"满足\"1*1+2*2+3*3+...+n*n<=1000\"的最大n值为"<<n-1<<endl<<"其和为:"<<sum<<endl;return 0;}
输出结果:

0 0