第四周作业

来源:互联网 发布:jboss 数据库jndi配置 编辑:程序博客网 时间:2024/05/24 00:11

 实验作业

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条错误信息原因,并输入电脑形成文字)。

习题6

求圆周率的近似值


#include<iostream> #include<iomanip> using namespace std; int main(){double pi = 0;int i, k = 1;for ( i = 0; i < 1000000; ++i ) {pi += 1.0 / (2*i+1)*k;k = -k;}cout<<pi*4<<"\n";}


习题7
将输入数据按小于10、10-10、100-1000及1000以上分类

#include<iostream>  #include<iomanip>  using namespace std;  int main()  {      int i=0;      long int j;      float num,m;      while(1)      {          cout<<"请输入一个数:"<<endl;          cin>>num;          for(j=1;j<=num;j=10*j)          {            i++;          }          switch(i)          {              case 2:                  cout<<num<<"is 10 to 100."<<endl;                  break;              case 3:                  cout<<num<<"is 100 to 1000."<<endl;                  break;              default:                  if(i<2)                   cout<<num<<"小于10."<<endl;                  if(i>3)                      cout<<num<<"在1000以上."<<endl;                  break;          }          i=0;      }      return 0;  }


习题11打印九九乘法表


#include<iostream>  #include<iomanip>  using namespace std;   int main() {  int a,b; for(a=1;a<=9;a++)  { for (b=1;b<=a;b++) { cout<<a<<'*'<<b<<'='<<a*b<<" "; }cout<<endl; }   return 0;  }



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



#include<iostream>   using namespace std;   int main() { int x,y,z;      int i=0;     for(x=0;x<=20;x++)       for(y=0;y<=33;y++)           for(z=0;z<=100;z+=3)       {     if(5*x+3*y+z/3==100 && x+y+z==100)           {                         i++;                      cout<<"\n方案"<<i<<"\n";                                   cout<<"\n";                      cout<<" 公鸡 :"<< x<<" 只\n"<<" 母鸡 :"<< y<<" 只\n"<<" 小鸡 :"<< z<<" 只\n";                                   }       }  return 0;  }


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



#include<iostream>    using namespace std;    int main()    {        int x,y,z=0,j=0;        cout<<"请输入一个整数"<<endl;        cin>>x;    do        {            y=x%10;          x=x/10;            j=j+1;            z=z+y;            cout<<"倒数第"<<j<<"位是"<<y<<endl;        }while(x!=0);       cout<<"这是"<<j<<"位数字"<<endl;        cout<<"各个数位上数字之和为"<<z<<endl;        return 0;    }  



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


#include<iostream>    using namespace std;    int main()    {int n; long t=1,s=0; cout<<"请输入整数n计算s=1!+2!+3!+......n!\n"; cin>>n; for(int i=1;i<=n;i++) { t=t*i;   s=t+s;}  cout<<"s="<<s<<endl;  cout<<"n="<<n<<endl;    return 0; }  



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



#include<iostream>     using namespace std;      int main()    {       int i,s=1;     for(i=1;i<=9;i++)     {         s=(s+1)*2;     }     cout<<"猴子第一天共摘了"<<s<<"个苹果"<<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 s=0,i=0, a,b,n;cout<<"请输入a和n,其中a是一个数字,n表示a的位数"<<endl;  cin>>a;cin>>n;b = a;for( i=0;i<n;i++)    {        s = s + a;        a = 10*a + b;    }cout<<"s[n]=a+aa+aaa+aa...a(n个)的值为"<<s<<endl;     return 0;    }  



还有些题目暂时不会,以后一定好好学





0 0
原创粉丝点击