第四周作业

来源:互联网 发布:主机品牌排行榜知乎 编辑:程序博客网 时间:2024/06/05 02:30

书本第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.编程求“百钱百鸡”问题。鸡翁一值钱五,鸡母 一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

#include<iostream>using namespace std;int main(){int i=0;int x,y,z;double money;for(x=0;x<=20;x++){for(y=0;y<34;y++){z=100-x-y;money=5*x+3*y+z/3.0;if(money==100){i++;cout<<endl;cout<<"第"<<i<<"种情况"<<endl;cout<<"鸡翁的数量x="<<x<<endl;cout<<"鸡母的数量y="<<y<<endl;cout<<"鸡雏的数量z="<<z<<endl;}}}return 0;}


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

#include<iostream>#include<iomanip>using namespace std;int main(){int n,count=0,i,m=0;cout<<"please enter a number:"<<endl;cin>>n;while(n!=0){i=n%10,m+=i,cout<<setw(8)<<i;n=n/10,count++;}cout<<"        位数:"<<count<<"    各数位和:"<<m<<endl;cout<<"由左往右依次为个位、十位、百位---"<<endl;return 0;}



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

#include<iostream>#include<cmath>using namespace std;int main (){double x,y,x1,x2,x3,x4;cout<<"请输入点的坐标x y"<<endl;cin>>x>>y;x1=sqrt(pow(x-2,2)+pow(y-2,2));x2=sqrt(pow(x-2,2)+pow(y+2,2));x3=sqrt(pow(x+2,2)+pow(y-2,2));x4=sqrt(pow(x+2,2)+pow(y+2,2));if(x1<=1||x2<=1||x3<=1||x4<=1)cout<<"该点高度为10"<<endl;elsecout<<"该点高度为0"<<endl;return 0;}



5.编程计算s=1!+2!+3!+......n!(其中n为整数,n!表示计算n阶乘)

#include<iostream>using namespace std;int fac(int n){int result = 1;if(n<0)return -1;else    if(n == 0)return 1;while (n>0){result *= n;n--;}return result;}int main(){int count=0,n;cout<<"请输入阶数:"<<endl;cin>>n;if(n==0||n==1)cout<<"result=1"<<endl;else{for(;n>=1;n--)count+=fac(n);cout<<"result="<<count<<endl;}return 0;}


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

#include<iostream>using namespace std;int main(){int day=1,n=1;for(;day<=9;day++){n=2*(n+1);}cout<<"苹果数为:"<<n<<endl;return 0 ;}



7.计算s[n]=a+aa+aaa+aa...a(n个)的值。其中a是一个数字,n表示a的位数。

#include<iostream>#include<cmath>using namespace std;int fac(double x,double y){y=y-1;double result=0;for(;y>=0;y--){result+=x*pow(10,y);}return result;}int main(){double sum=0;int a,n,m;cout<<"请输入数字a和位数n"<<endl;cin>>a>>n;m=n;for(;n>=0;n--){sum+=fac(a,n);}cout<<"s["<<m<<"]="<<sum<<endl;return 0;}






0 0