第三章作业
来源:互联网 发布:网易公开课算法导论 编辑:程序博客网 时间:2024/05/21 20:30
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条错误信息原因,并输入电脑形成文字)。
一:例3.1
#include<iostream> using namespace std; int main() { cout<<"This is a problem.\n"; cout<<"This is a problem.\n"; cout<<"This " <<"is " <<"a " <<"problem.\n"; return 0; }
例3.2
#include<iostream> using namespace std; int main() { int a=10,b=20,c=30; cout<<"a = "<<a<<endl; cout<<"b = "<<b<<endl; cout<<"c = "<<c<<endl; cout<<"(a+c)/(2*b) = "<<(a+c)/(2*b)<<"\n"; return 0 ; }
例3.3
#include<iostream> using namespace std; int main() { int n1,n2; cout<<"Please input two numbers:"; cin>>n1>>n2; cout<<"the average of the two numbers is "<<(n1+n2)/2.0<<"\n"; return 0; }
例3.4
#include<iostream> using namespace std; int main() { cout<<"广东海洋大学 信息学院"<<endl; cout<<"自动化系"<<endl; cout<<"1123班 "<<endl; cout<<"张嘉成"<<endl; return 0 ; }
例3.6
#include <iostream> #include <iomanip> using namespace std; int main() { int a=10,b=1000; cout<<setw(5)<<a<<endl; cout<<setw(2)<<b<<endl; return 0; }
二.编程求“百钱百鸡”问题。(鸡翁一值钱五,鸡母 一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?)
这题想了差不多1个小时也想不出来,哎。。。
三.编程输入一个整数,计算它是几位数字,分别输出每一位数字,并输出各个数位上数字之和。
#include<iostream>using namespace std;int main(){int a,b,c,n,x;cout<<"请输入一个数:"<<endl;cin>>a;x=10;n=1;b=a;while(b>=1){c=(a/x)/10;x=x*10;b=c; n++;}cout<<"这是一个"<<n<<"位数"<<endl;return 0;}
四.在一个平面上,有四个圆柱形塔,塔底圆心坐标分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),塔半径为1,塔高为10米,塔外无建筑物。编程,输入任一个点平面坐标,求该点建筑物的高度。
#include<iostream>using namespace std;int main(){int a,b;cout<<"请输入该点的平面坐标X:"<<endl;cin>>a;cout<<"请输入该点的平面坐标Y:"<<endl;cin>>b;if((a-2)*(a-2)+(b-2)*(b-2)<=1||(a+2)*(a+2)+(b-2)*(b-2)<=1||(a+2)*(a+2)+(b+2)*(b+2)<=1||(a-2)*(a-2)+(b+2)*(b+2)<=1) cout<<"该处建筑物高10米."<<endl;else cout<<"该处无建筑物."<<endl;return 0;}
五.编程计算s=1!+2!+3!+......n!(其中n为整数,n!表示计算n阶乘),要求使用两种以上的方法。
第一种程序
#include<iostream> using namespace std; int main() { int n,x,a=1,sum=0,s; cout<<"请输入一个数:"<<endl;cin>>x;n=1;s=1;while(n<=x){s*=n;sum+=s;n++;}cout<<x<<"的各阶乘的和sum="<<sum<<endl;return 0;}
第二种程序
#include <iostream> using namespace std; int main() { int n,x,a=1,sum=0; cout<<"请输入一个数:"<<endl;cin>>x; for(n=1;n<=x;n++) { a=a*n; sum=sum+a; } cout<<x<<"的各阶乘的和sum="<<sum<<endl; return 0; }
六.猴子吃苹果问题:猴子第一天摘了若干个苹果,当时吃了一半,还不过隐,又多吃了一个。第二天,又吃掉余下的一半,又多吃一个。以后每一天,都是吃掉前一天余下的一半零一个。到第10天,只有一个苹果了。问猴子第一天共摘了多少个苹果?
#include<iostream>using namespace std;int main(){int a,n;a=1;for(n=1;n<10;n++)a=(a+1)*2;cout<<"猴子第一天摘了"<<a<<"个苹果"<<endl;return 0;}
七.计算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 x,y,n,sum,a;cout<<"请输入一个数x和它的位数y"<<endl;cin>>x>>y;sum=0;a=x;for(n=1;n<=y;n++){sum+=a;a=a*10+a;}cout<<"s"<<y<<"="<<sum<<endl;return 0;}
八.打印九九乘法表。
#include <iostream> using namespace std; int main() { int i,j; for(i=1;i<=9;i++) { for(j=1;j<=9;j++) cout<<left<<"\t"<<i<<"×"<<j<<"="<<i*j; cout<<endl; } return 0; }
最后一题我回去再想想。
- 第三章作业
- 第三章作业
- CCNA第三章作业
- 第三章实验作业
- 第三章作业
- 第三章作业
- 第三章作业
- 第三章作业
- 第三章作业
- 第三章作业
- 第三章作业
- 第三章作业
- 第三章作业
- 第三章作业
- 第三章作业
- 第三章作业
- 第三章作业
- 第三章作业
- UUID.randomUUID()方法介绍
- 查找兄弟单词
- 【双循环判断】#2 A. Winner
- jQuery-$.post 的路径问题
- php传json格式给C++时乱码解决方案
- 第三章作业
- struts2 异常处理总结
- 深入理解Java内存模型(四)——volatile
- 文章道歉声明创微博纪录 单条10小时互动超250万
- C++第四周作业
- Myeclipse配置hadoop开发及遇到的问题
- 设计模式之职责链模式
- 积累(二)
- leetcode之Max Points on a Line