C++第四周作业
2014-03-31 22:14
239 查看
第一题: 习题5: /****************************** ***功能:求自然对数e的近似值**** *******************************/ #include<iostream> #include<iomanip> 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; } return 0; }
习题6: /****************************** ***功能:求圆周率π的近似值**** *******************************/ #include<iostream> #include<iomanip> using namespace std; int main() { int i; double pi=0,fac=1; for(i=1;i<10e6;i+=2) { pi+=4*(double)1/i*fac; fac*=-1; } cout<<"pi约等于:"<<pi<<endl; return 0; }
习题7:
/****************************** ***功能:求输入值的大小区域**** *******************************/ #include<iostream> #include<iomanip> using namespace std; int main() { int num; cout<<"请输入一个数:"<<endl; cin>>num; if(num<10) cout<<num<<"is less than 10."<<endl; else if(num>=10&&num<100) cout<<num<<"is 10 to 100."<<endl; else if(num>=100&&num<1000) cout<<num<<"is 100 to 1000."<<endl; else cout <<num<<"is great than 1000."<<endl; return 0; }习题8:
#include<iostream> using namespace std; int main() { int i,j,k; for(i=7;i>=1;i-=2) { for(k=i;k>0;k--) cout<<' '; for(j=8-i;j>0;j--) { cout<<"* "; } cout<<endl; } for(i=5;i>=1;i-=2) { for(k=8-i;k>0;k--) cout<<' '; for(j=i;j>0;j--) { cout<<"* "; } cout<<endl; } return 0; }
习题9:
#include<iostream>using namespace std; int main() { int n=0,s=0; while(s<=1000) { n++; s+=n*n; } cout<<"满足条件的最大值"; cout<<"n="<<n<<endl; return 0; }
习题10:
#include<iostream>
using namespace std; int main() { int i=0; long unsigned int x1=0; double x2=0,s=0.01; while(i!=30) { i++; x1+=100000; s=s*2; x2+=s; } cout<<"一个月后。。。"<<endl; cout<<"陌生人给了百万富翁"<<x1<<"元钱"<<endl; cout<<"百万富翁给了陌生人"<<fixed<<x2<<"元钱"<<endl; return 0; }
第二题:
/************************************** **** 功能:求百钱百鸡问题 **** ***************************************/ #include<iostream> using namespace std; int main() { int i=0; int a,b,c; //定义a,b,c三个整型变量,a,b,c分别储存鸡翁,鸡母,鸡雏的数量 double d; //定义浮点型变量储存金钱的总量 cout<<"鸡翁一值钱五,鸡母 一值钱三,鸡雏三值钱一。"<<endl; cout<<"百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?"<<endl; for(a=0;a<=20;a++)//因为5*20=100,所以a不能大于20 { for(b=0;b<34;b++) //因为3*33=99,3*34=102,所以b得小于34 { c=100-a-b; // a+b+c=100 d=5*a+3*b+c/3.0;//一只鸡翁5钱,一只鸡母3钱,三只鸡雏1钱,所以总钱量d=5*a+3*b+c/3.0 if(d==100) //当总钱量为100时,输出abc的值 { i++; cout<<endl; cout<<"第"<<i<<"种情况"<<endl; cout<<"鸡翁的数量a="<<a<<endl; cout<<"鸡母的数量b="<<b<<endl; cout<<"鸡雏的数量c="<<c<<endl; } } } return 0; }
第三题:
#include <iostream> using namespace std; int main() { int num,i=0,add=0;//i作为计数 cout << "请输入一个数字:" << endl; cin >> num; while (num!=0) { add=add+num%10;//求模得个位上数值且相加 num=num/10;//降低一位 i++; } cout << "该数由"<<i<<"位组成,各个数位上数之和为:"<<add<<endl; return 0; }
第四题:
#include <iostream> using namespace std; int main() { float x,y;//坐标 cout << "请输入该点横坐标:"<<endl; cin >> x; cout << "请输入该点纵坐标:"<< 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; else cout <<"该点建筑的高度为0米"<<endl; return 0; }
第五题:
方法一:
#include <iostream> using namespace std; int main() { int n,s=0,i,fac; cout << "请输入一个整数n:"<<endl; cin >> n; for (;n>0;n--) { fac=1; for(i=n;i>0;i--)//求N! fac*=i; s+=fac;//求和 } cout <<"s=1!+2!+3!……+n!="<<s<<endl; return 0; }方法二:
#include <iostream> using namespace std; int main() { int n,s=0,i,fac; cout << "请输入一个整数n:"<<endl; cin >> n; while(n>0) { i=n; fac=1; while(i>0) { fac*=i; i--; } s+=fac; n--; } cout <<"s=1!+2!+3!……+n!="<<s<<endl; return 0; }
第六题:
#include <iostream> using namespace std; int main() { int n=1,day;//n为苹果数 for (day=10;day>1;day--) { n=(n+1)*2; } cout << "第一天时猴子摘了"<<n<<"个苹果。"<<endl; return 0; }
第七题:
#include <iostream> using namespace std; int main() { int a,n,i,k,fac=0,s=0; cout << "请输入数字 a:"<<endl; cin >> a; cout << "请输入a的位数n:"<<endl; cin >> n; for(;n>0;n--) { i=n; k=a; for(;i>0;i--) { fac+=k; k=k*10; } s+=fac; fac=0; } cout<< "s =a+aa+aaa+aa...a="<<s<<endl; return 0; }
第八题:
#include <iostream> using namespace std; int main() { int fac_1,fac_2,pro;//因子一和因子二,以及乘积。 for(fac_2=1;fac_2<=9;fac_2++) { for(fac_1=1;fac_1<=fac_2;fac_1++) { pro=(fac_1*fac_2); cout <<fac_1<<"×"<<fac_2<<"="<<pro<<" "; } cout << endl; } return 0; }
第九题:
#include<iostream> using namespace std; /**将张三,李四,王五分别记为a,b,c;将陈六,赵七,宋八分别记为A,B,C**/ int main() { int m=0; char i,j,k;//定义i,j,k;i为a的对手,j为b的对手,k为c的对手 cout<<"将张三,李四,王五分别记为a,b,c"<<endl; cout<<"将陈六,赵七,宋八分别记为A,B,C"<<endl; for(i='A';i<='C';i++) for(j='A';j<='C';j++) for(k='A';k<='C';k++) { if(i!=j&&i!=k&&j!=k) { if(i!='A'&&k!='A'&&k!='C') { cout<<"比赛名单如下:"<<endl; cout<<"a对抗"<<i<<" "<<"b对抗"<<j<<" "<<"c对抗"<<k<<" "; } } } return 0; }