您的位置:首页 > 其它

第四周作业

2014-04-02 21:47 176 查看


n 实验作业
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阶乘),要求使用两种以上的方法。

首先做的是课本后面的题目

1.求自然对数的e的近似值
#include<iostream>
using namespace std;
int main()
{
int i,j;
double e=1,s=1;
for(i=1;i<=10;i++)
{
for(j=1;j<=i;j++)
{
s*=j;
}
e+=1/s;
s=1;
}
cout<<"e="<<e<<endl;
return 0;
}


2,求圆周率π的近似值
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
long double pi=1.0;
double flag =-1.0;
for(int i=3;1.0/i>=1e-6;i+=2)
{
pi+=flag/i;
flag=-flag;
}
cout<<"圆周率π的近似值为:"<<4*pi<<endl;
return 0;
}


3.将输入的诗句按照类型分别显示出来
#include<iostream>
using namespace std;
int main()
{
int a;
cout<<"Please input a number:";
cin>>a;
if(a<10)
cout<<a<<"是小于10"<<endl;
else if(a<100)
cout<<a<<"是10~100"<<endl;
else if(a<1000)
cout<<a<<"是100~1000"<<endl;
else
cout<<a<<"是大于1000"<<endl;
return 0;
}


4.编一程序,输出图形
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int j,k;
for(k=1; k<=4; k++)
{
for(j=1; j<=5-k; j++)
cout<<setw(2)<<" ";
for(j=1;j<=2*k-1;j++)
cout<<setw(2)<<'*';
cout<<endl;
}
for(k=1;k<=3;k++)
{
for(j=4;j>=4-k;j--)
cout<<setw(2)<<" ";
for(j=4;j>=2*k-2;j--)
cout<<setw(2)<<'*';
cout<<endl;
}
return 0;
}


百钱百鸡问题
#include<iostream>
using namespace std;
int main()
{
int a, b, c, p, q;
for(a=0;a<=20;a++)
{
for(b=0;b<=33;b++)
{
for(c=0;c<=100;c+=3)
{
p=a+b+c;
q=5*a+3*b+c/3;
if(p==100 && q==100)
{
cout<<"鸡翁为:"<<a<<"只"<<endl;
cout<<"鸡母为:"<<b<<"只"<<endl;
cout<<"鸡雏为:"<<c<<"只"<<endl;
cout<<"             "<<endl;
}
}
}
}
return 0;
}
编程输入一个整数,计算它是几位数字,分别输出每一位数字,并输出各个数位上数字之和
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int i=0, k=0, num, sum=0;
cout<<"输入一个整数:"<<endl;
cin>>num;
while(num!=0)
{
k=num%10;
sum+=k;
cout<<k;
i++;
num /=10;

}
cout<<"该整数是: "<<i<<"位数字"<<endl;
cout<<"该整数各个数位上数字之和:"<<sum<<endl;
return 0;
}
在一个平面上,有四个圆柱形塔,塔底圆心坐标分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),塔半径为1,塔高为10米,塔外无建筑物。编程,输入任一个点平面坐标,求该点建筑物的高度
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
float x,y,s;
cout<<"x=";
cin>>x;
cout<<"y=";
cin>>y;
if(x<0)
x=-x;
if(y<0)
y=-y;
s=sqrt((x-2)*(x-2)+(y-2)*(y-2));
if(s<=1)
cout<<"平面坐标的高度为10"<<endl;
else
cout<<"平面坐标的高度为0"<<endl;
return 0;
}
编程计算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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: