冯伟杰第四周作业

习题5

/***求e的近似值***/
#include <iostream>   
using namespace std;    
int main()  
{  
    int i=0;  
    double sum=1,k=1;  
    while (k>=10e-6)  
    {  
        i++;  
        k=k/i;  
        sum+=k;  
    }  
    cout << "e = "<<sum<<endl;  
    return 0;  
}  


习题6

/***功能:求圆周率π的近似值***/  
#include<iostream>  
#include<iomanip>  
using namespace std;  
int main()  
{  
    int i;  
    float j;  
    double s=0;  
    for(i=1;i<=100000000;i++)  
    {  
        j=1.0/(2*i-1);  
        if(i/2==i/2.0)//判断i为奇数或偶数  
            s-=j;  
        else  
            s+=j;  
    }  
    cout<<"圆周率pi的近似值为: "<<setprecision(7)<<s*4<<endl;  
    return 0;  
}  


习题7

#include<iostream> 
using namespace std;  
int main()  
{  
    int a;  
    cout<<"请输入一个数:"<<endl;  
    cin>>a;  
   if(a<10)
	   cout<<a<<"is less than 10.";
   else if(a<=100)
	   cout<<a<<"is 10 to 100.";
   else if(a<=1000)
	   cout<<a<<"is 100 to 1000.";
   else
	   cout<<a<<"is more than 1000.";
   cout<<endl;
    return 0;  
} 


习题9

#include<iostream> 
using namespace std;  
int main()  
{  
    int a,b,sum=0;  

	for(a=1;;a++)
	{
		b=a*a;
	    sum+=b;
		if(sum>=1000)
			break;
	}
	cout<<"满足条件的最大n值为"<<a-1<<endl;
    return 0;  
} 


习题10

#include<iostream>    
using namespace std;  
int main()  
{  
    double sum1=0,sum2=0.1,day=1;  //**sum1为陌生人给百万富翁的钱,sum2为百万富翁给陌生人的钱**//
    for(;day<=30;day++)  
    {  
        sum1+=100000;  //以万元为单位
        sum2*=2;  
      
    }  
    cout<<"陌生人给百万富翁:"<<std::fixed<<sum1<<"元"<<endl;  
    cout<<"百万富翁给了陌生人:"<<std::fixed<<sum2<<"元"<<endl;  
  
  return 0;  
} 



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

#include<iostream>  
using namespace std;  
int main()  
{  
    int a,b,c;  
    for(a=0;a*5<=100;a++)  
        for(b=0;(a*5+b*3)<=100;b++)  
        {  
        c=100-a-b;        
        if((a*5+b*3+c/3==100)&&(c%3==0))     
           cout<<"鸡翁有"<<a<<"只"
		   <<"鸡母有"<<b<<"只"
		   <<"鸡皱有"<<c<<"只"<<endl;  
        }  
    return 0;  
}  


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

#include<iostream>  
using namespace std;  
int main()  
{  
    int a,b,c,d=0;  
    cout<<"请输入一个整数: "<<endl; 
    cin>>a;  
    for(b=10;b<=a;b*=10)  
    {  
    if(a/b>1)  
        c=1;  
        d+=c;  
            }  
    cout<<"这是一个"<<d+1<<"位数"<<endl;  
    d=0;  
    for(b=b/10;b>=1;b=b/10)  
    {  
    c=a/b;  
    d+=c;  
    a%=b;  
    }  
    cout<<"各位数之和为:"<<d<<endl;  
      
    return 0;  
} 


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

  
#include<iostream>  
using namespace std;  
int main()  
{  
    float x,y;  
    cout<<"请输入点坐标的值,用空格隔开"<<endl;  
    cin>>x>>y;  
    if(x<0)      //将所有坐标转换到第一象限  
        x=-x;   //简化判断条件  
    if(y<0)        
        y=-y;    
    if((x-2)*(x-2)+(y-2)*(y-2)<=1)  
        cout<<"该点建筑高度为10米"<<endl;  
    else  
    cout<<"该点建筑高度为0米"<<endl;  
    return 0;  
}  


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

#include<iostream>  
using namespace std;  
int main()  
{  
    int a,b,c,n,S=0;  
    cout<<"请输入你要计算的第n项?"<<endl;  
    cin>>n;  
    for(a=n;a>0;a--)  
    {  
        c=1;  
    for(b=a;b>=1;b--)  
        c*=b;  
        S+=c;  
    }  
    cout<<"级数的前"<<n<<"项之和为:"<<S<<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的位数。例如,当a=1,n=5时,则要计算的表达式为

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

//**功能:计算s[n]=a+aa+aaa+...的值 **// 
#include<iostream> 
using namespace std;  
int main()  
{  
    int a,b,n,s,i;  
    cout<<"请输入一个数:"<<endl;  
    cin>>a;  
    cout<<"请输入要计算的位数n:"<<endl;  
    cin>>n;  
    b=s=a;  
    for(i=1;i<n;i++)  
    {  
    a*=10;  
    b+=a;   //c=aa,c=aaa,c=aaaa...  
    s+=b;  
    }  
    cout<<"s[n]="<<s<<endl;  
    return 0;  
} 


8.打印九九乘法表。

#include<iostream>  
using namespace std;  
int main()  
{  
    int a,b,c;  
	cout<<"九九乘法表: "<<endl;
    for(a=1;a<=9;a++)  
    {  
        for(b=1;b<=a;b++)  
        {  
        c=a*b;  
        cout<<a<<"x"<<b<<"="<<c<<"\t";  
        }  
        cout<<endl;  
    }  
    return 0;  
} 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值