第四周作业

来源:互联网 发布:跑跑卡丁车淘宝好便宜 编辑:程序博客网 时间:2024/06/05 11:09

第三章 结构化程序设计学习要求和实验

      学习要求

掌握输入/出流的使用。

掌握结构化程序设计过程和方法。

掌握选择/分支结构程序,循环程序设计方法,熟知分支和循环语句,并灵活运用。

初步掌握一些常规题型算法

进一步积累程序调试经验。

      实验作业

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


习题5

/*************************       习题5        *************************/#include<iostream>  #include<iomanip>  using namespace std;  int main()  {        int i,n;      double e=1,a=1;      for(i=1;i<=10;i++)      {          for(n=1;n<=i;n++)          {              a*=n;          }          e+=1/a;          a=1;      }      cout<<"e="<<setprecision(8)<<e<<endl;      return 0;  }  

习题6.

/**********************      习题6      **********************/#include<iostream>#include<iomanip>using namespace std;int main(){      double i,pi=0,a=1;      for(i=1;i<=100;i=i+2)      {          pi+=4*1/i*a;          a*=-1;      }      cout << "pi/4 ="<<pi<<endl;      return 0;  }  

习题7.

/**************************        习题7        **************************/#include<iostream>#include<iomanip>using namespace std;int main(){int a;while(1){cout<<"请输入一个数"<<endl;cin>>a;if(a<10)cout<<a<<"<10"<<endl;else if(a>10&&a<100)cout<<a<<"is 10 to 100"<<endl;else if(a>100&&a<1000)cout<<a<<"is 100 to 1000"<<endl;else if(a>1000)cout<<a<<">1000"<<endl;else cout<<"error"<<endl;break;}return 0;}

写好之后,我尝试输入了英文字母,发现一旦输入了非数字的数据,整个程序就乱了,所以我在else 后面+了一个break.. 来强制终止这个程序..


习题8.

/************************       习题8       ************************/#include <iostream>    using namespace std;    int main()  {          cout<<"      *"<<endl;cout<<"    * * *"<<endl;cout<<"  * * * * *"<<endl;cout<<"* * * * * * *"<<endl;cout<<"  * * * * *"<<endl;        cout<<"    * * *"<<endl;        cout<<"      *"<<endl;return 0;}


哎,学艺不精,只能用这种近乎耍赖的方法了..


习题9.

/************************       习题9       ************************/#include<iostream>using namespace std;int main(){int n=0,sum=0;while(sum<1000){n++;sum +=n*n;}cout<<"所求的n为:"<<n<<endl;return 0;}

习题10.

/***********************      习题10      ***********************/#include<iostream>using namespace std;int main(){long unsigned int a=0,sum1=0,sum2=0;double b=0.01;while(a<30){sum1 +=100000;b=b*2;sum2 +=b;a++;}cout<<"陌生人一共给了百万富翁"<<sum1<<"元"<<endl;cout<<"百万富翁一共给了陌生人"<<sum2<<"元"<<endl;return 0;}

作业2.百钱百鸡.

/********************    百钱百鸡   ********************/#include<iostream>using namespace std;int main(){int x,y,z,sum,num;for(x=0;x<=20;x++)for(y=0;y<34;y++)for(z=0;z<=99;z+=3){sum =x+y+z;            num =5*x+3*y+z/3;if(sum==100&&num==100){cout<<"公鸡数为:"<<x<<endl;cout<<"母鸡数为:"<<y<<endl;cout<<"小鸡数为:"<<z<<endl;cout<<"另一种情况如下:"<<endl;}}return  0;}

作业3.

/************************************    计算位数,并将各位数相加    ************************************/#include<iostream>using namespace std;int main(){long int n,i=0,sum=0;cout<<"请输入一个数:"<<endl;cin>>n;while(n!=0){sum +=n%10;n=n/10;i++;}    cout<<"所输入的数是一个"<<i<<"位数"<<endl;cout<<"各位数之和是:"<<sum<<endl; return 0;}

作业4.

/***********************************      求某一点处建筑物的高度  ***********************************/#include<iostream>using namespace std;int main(){double x,y;cout<<"请输入x的值"<<endl;cin>>x;cout<<"请输入y的值"<<endl;cin>>y;if((x+2)*(x+2)+(y+2)*(y+2)<=1 ||(x+2)*(x+2)+(y-2)*(y-2)<=1||(x-2)*(x-2)+(y+2)*(y+2)<=1||(x-2)*(x-2)+(y-2)*(y-2)<=1)cout<<"该点处的建筑物高度为10米"<<endl;elsecout<<"该点处的建筑物的高度为0米"<<endl;return 0;}

作业5.

/*************************     n的阶乘的和    *************************/#include<iostream>using namespace std;int main(){int a;cout<<"请输入数字1或2查看方法:"<<endl;cin>>a;if(a=1){cout<<"下面是方法1"<<endl;int x,y=1,sum=0;cout<<"*****************"<<endl;cout<<"请输入n的值"<<endl;cin>>x;while(y<x){sum +=y*y;y++;}cout<<"所求的值为:"<<sum<<endl;}else{cout<<"下面是方法2"<<endl;int i,n,num=0;cout<<"*****************"<<endl;cout<<"请输入n的值"<<endl;cin>>n;for(i=1;i<=n;i++){num +=i*i;}cout<<"所求的值为:"<<num<<endl;}return 0;}

作业6.

/********************************      猴子吃苹果的问题     ********************************/#include<iostream>using namespace std;int main(){cout<<"下面来看一个猴子吃苹果的问题。"<<endl;cout<<"猴子第一天摘了若干个苹果。"<<endl;cout<<"当时吃了一半,还不过隐,又多吃了一个。"<<endl;cout<<"第二天,又吃掉余下的一半,又多吃一个。"<<endl;cout<<"以后每一天,都是吃掉前一天余下的一半零一个。"<<endl;cout<<"到第10天,只有一个苹果了。"<<endl;cout<<"问猴子第一天共摘了多少个苹果?"<<endl;int n=1,i;for(i=1;i<10;i++)n =(n+1)*2;cout<<"********************"<<endl;cout<<"********************"<<endl;cout<<"********************"<<endl;cout<<"猴子第一天一共摘了"<<n<<"个苹果"<<endl;return 0;}

作业7.

/*******************************        作业7          *******************************/#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.

/************************************        打印九九乘法表         ************************************/#include<iostream>using namespace std;int main(){int i,n,s;for(i=1;i<=9;i++){for(n=1;n<=i;n++){s=i*n;cout<<n<<"*"<<i<<"="<<s<<'\t';}cout<<endl;}return 0;}

作业9.

/**********************************         比赛名单            **********************************/#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;  }  

这个最后一个题 不会做,有所借鉴.委屈


老师 作业太多了..消化不良啊...写的手抽筋啊,连看书的时间都没有啦..可否少点作业啊..!!!!!!!哭







0 0
原创粉丝点击