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

原创 2012年03月24日 16:47:33
//平均数(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;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

《算法竞赛入门经典(第2版)》代码 Chapter 1

1.1s1 1.1s2 1.1s3 1.1s4 1-1 1-2 -1-2
  • dzf2012
  • dzf2012
  • 2014年10月11日 17:46
  • 712

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

算法竞赛入门经典(第2版)习题1-3详解

#include //文艺青年写的代码 void f1(int n) { //注意本题相当于是一个等差数列求和的问题 //等差数列求和公式:n*(n+1)/2 int re...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

算法竞赛入门经典第2章【小结和习题】

2.4.1 输出技巧 #include int main(void) { int i, n; scanf("%d", &n); for (i = 1; i

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

//习题2-1 位数(digit) //输入一个不超过10^9的正整数,输出它的位数。例如12735的位数是5. #include using namespace std; int main() {...
  • wwj_748
  • wwj_748
  • 2012年03月27日 20:47
  • 2534

《算法竞赛入门经典》上机练习——第一章

习题1-1 平均数(average)
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:算法竞赛入门经典 第一章 上机练习(C++代码)
举报原因:
原因补充:

(最多只允许输入30个字)