您的位置:首页 > 编程语言 > C语言/C++

算法竞赛入门经典 第一章 上机练习(C++代码)

2012-03-24 16:47 531 查看
//平均数(average)
//输入3个整数,输出它们的平均值,保留3位小数。
#include<iostream>
#include<iomanip>
using namespace std;

int main()
{
int a,b,c;
cin>>a>>b>>c;
double average=(a+b+c)/3;	//三个数的和除以它们的个数为平均值
cout<<setiosflags(ios::fixed)<<setprecision(3)<<average<<endl;
return 0;
}

//温度(temperature)
//输入华式温度f,输出对应的摄氏温度c,保留3位小数。提示:c=5(f-32)/9
#include<iostream>
#include<iomanip>			//使用了输出格式符
using namespace std;

int main()
{
double f,c;				//华式温度应为double型
cin>>f;
c=5*(f-32)/9;			//求华氏温度公式
cout<<setiosflags(ios::fixed)<<setprecision(3)
<<c<<endl;
return 0;
}

//连续和(sum)
//输入正整数n,输出1+2+……+n的值。提示:目标是解决问题,而不是练习编程
#include<iostream>
using namespace std;

int main()
{
int n,i=1,sum=0;
cin>>n;
while(i<=n)		//循环条件从1到n
{
sum+=i;		//累加和
++i;		//计数器
}
cout<<sum<<endl;
return 0;
}

//正弦和余弦(sincos)
//输入正整数n(n<360),输出n度的正弦、余弦函数值。提示:使用数学函数
#include<iostream>
#include<cmath>
using namespace std;

int main()
{
double n;
cin>>n;
cout<<sin(n)<<" "<<cos(n)<<endl;
return 0;
}

//距离(distance)
//输入4个浮点数x1,y1,x2,y2,输出平面坐标系中点(x1,y1)到点(x2,y2)的距离
#include<iostream>
#include<cmath>
using namespace std;

int main()
{
double x1,y1,x2,y2;
cin>>x1>>y1>>x2>>y2;
//两点之间的距离公式为(x2-x1)^2+(y2-y1)^2的开根方
//sqrt是求开根方的函数,pow是求一个数的平方
cout<<sqrt(pow((x2-x1),2)+pow((y2-y1),2))<<endl;
return 0;
}

//偶数(odd)
//输入一个整数,判断它是否为偶数。如果是,则输出“yes”,否则输出“no”。
#include<iostream>
using namespace std;

int main()
{
int n;
cin>>n;
if(n%2==0)		//判断条件
cout<<"yes"<<endl;
else cout<<"no"<<endl;
return 0;
}

//打折(discount)
//一件衣服95元,若消费满300元,可打八五折。输入购买衣服件数,输出需要支付的金额(单位:元),保留两位小数
#include<iostream>
#include<iomanip>
using namespace std;

int main()
{
int n;
double m;
cin>>n;
if(n*95>=300)
m=n*95*0.85;
else m=n*95;
cout<<setiosflags(ios::fixed)<<setprecision(2)<<m<<endl;
return 0;
}

//绝对值(abs)
//输入一个浮点数,输出它的绝对值,保留两位小数

#include<iostream>
#include<iomanip>
using namespace std;

int main()
{
double n;
cin>>n;
n=abs(n);			//调用库函数求绝对值
cout<<setiosflags(ios::fixed)<<setprecision(2)
<<n<<endl;
return 0;
}

//三角形(triangle)
//输入三角形三边长度值(均为正整数),判断它是否能为直角三角形的三个边长。
//如果可以,则输出“yes”,如果不能,则输出“no”。如果根本无法构成三角形,则输出“not a triangle”
#include<iostream>
using namespace std;

int main()
{
int a,b,c;
cin>>a>>b>>c;
if(a*a+b*b==c*c)
cout<<"yes"<<endl;
if(a+b<c||a+c<b||b+c<a)
cout<<"not a triangle"<<endl;
else cout<<"no"<<endl;
return 0;
}

//年份(year)
//输入年份,判断是否为闰年。如果是,则输出“yes”,否则输出“no”。
#include<iostream>
using namespace std;

int main()
{
int year;
cin>>year;
if(year%4==0)
{
if(year%100==0)
cout<<"yes"<<endl;
else if(year%400!=0)
cout<<"yes"<<endl;
else cout<<"no"<<endl;
}
else cout<<"no"<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: