算法竞赛入门经典第一章习题答案
2014-09-01 19:59
381 查看
习题1-1 平均数
输入3个整数,输出他们的平均值,保留3位小数。
#include<stdio.h>
int main()
{
int a,b,c;
while(scanf("%d %d %d",&a,&b,&c)!=EOF)
printf("%.3lf\n",(a+b+c)/3.0);
return 0;
}
习题1-2 温度
输入华氏温度f,输出对应的摄氏温度c,保留3位小数。提示:c=5(f-32)/9
#include<stdio.h>
int main()
{
double f,c;
while(scanf("%lf",&f)!=EOF)
{
c=5*(f-32)/9;
printf("%.3lf\n",c);
}
return 0;
}
习题1-3 连续和
输入正整数n,输出1+2+...+n的值。
#include<stdio.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
printf("%d\n",n*(n+1)/2);
return 0;
}
习题1-4 正弦和余弦
输入正整数n(<360),输出n度的正弦、余弦函数的值。
#include<stdio.h>
#include<math.h>
int main()
{
int n;
const double PI=4.0*atan(1.0);
double x;
while(scanf("%d",&n)!=EOF)
{
x=(n/180.0)*PI;
printf("%.3lf\n%.3lf\n",sin(x),cos(x));
}
return 0;
}
习题1-5 距离
输入4个浮点数x1,x2,y1,y2,输出平面直角坐标系中点(x1,y1)和(x2,y2)的距离。
#include<stdio.h>
#include<math.h>
int main()
{
double x1,x2,y1,y2;
double d;
scanf("%lf%lf%lf%lf", &x1, &x2, &y1, &y2);
d=sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1));
printf("%.3lf\n",d);
return 0;
}
习题1-6 偶数
输入一个整数,判断他是否为偶数,如果是则输出“yes”,否则输出“no”。
#include<stdio.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
if(n%2==0)
printf("yes\n");
else
printf("no\n");
return 0;
}
习题1-7 打折
一件衣服95元,若消费满300元,可以打八五折。输入购买衣服的件数,输出需要支付的金额(单位:元),保留两位小数。
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
int n;
double s;
scanf("%d",&n);
if(n<=3)
s=95*n;
else
s=95*0.85*n;
printf("%.2f\n",s);
system("pause");
return 0;
}
习题1-8 绝对值
输入一个浮点数,输出它的绝对值,保留两位小数。
#include<stdio.h>
int main()
{
double a;
scanf("%lf",&a);
if(a>=0)
printf("%.2f",a);
else
printf("%.2f",-a);
return 0;
}
习题1-9 三角形
输入三角形的三条边(均为正整数),判断它是否能为直角三角形的三个边长。如果可以,则输出“yes”,如果不能则输出“no”,如果无法构成三角形,则输出“not a triangle”。
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
printf("yes\n");
else
if(a+b<=c||a+c<=b||b+c<=a)
printf("not a triangle\n");
else
printf("no\n");
system("pause");
return 0;
}
习题1-10 年份
输入年份,判断是否是闰年,如果是则输出“yes”,否则输出“no”。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int year;
scanf("%d",&year);
if(year%4!=0||(year%100==0&&year%400!=0))
printf("no\n");
else
printf("yes\n");
system("pause");
return 0;
}
输入3个整数,输出他们的平均值,保留3位小数。
#include<stdio.h>
int main()
{
int a,b,c;
while(scanf("%d %d %d",&a,&b,&c)!=EOF)
printf("%.3lf\n",(a+b+c)/3.0);
return 0;
}
习题1-2 温度
输入华氏温度f,输出对应的摄氏温度c,保留3位小数。提示:c=5(f-32)/9
#include<stdio.h>
int main()
{
double f,c;
while(scanf("%lf",&f)!=EOF)
{
c=5*(f-32)/9;
printf("%.3lf\n",c);
}
return 0;
}
习题1-3 连续和
输入正整数n,输出1+2+...+n的值。
#include<stdio.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
printf("%d\n",n*(n+1)/2);
return 0;
}
习题1-4 正弦和余弦
输入正整数n(<360),输出n度的正弦、余弦函数的值。
#include<stdio.h>
#include<math.h>
int main()
{
int n;
const double PI=4.0*atan(1.0);
double x;
while(scanf("%d",&n)!=EOF)
{
x=(n/180.0)*PI;
printf("%.3lf\n%.3lf\n",sin(x),cos(x));
}
return 0;
}
习题1-5 距离
输入4个浮点数x1,x2,y1,y2,输出平面直角坐标系中点(x1,y1)和(x2,y2)的距离。
#include<stdio.h>
#include<math.h>
int main()
{
double x1,x2,y1,y2;
double d;
scanf("%lf%lf%lf%lf", &x1, &x2, &y1, &y2);
d=sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1));
printf("%.3lf\n",d);
return 0;
}
习题1-6 偶数
输入一个整数,判断他是否为偶数,如果是则输出“yes”,否则输出“no”。
#include<stdio.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
if(n%2==0)
printf("yes\n");
else
printf("no\n");
return 0;
}
习题1-7 打折
一件衣服95元,若消费满300元,可以打八五折。输入购买衣服的件数,输出需要支付的金额(单位:元),保留两位小数。
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
int n;
double s;
scanf("%d",&n);
if(n<=3)
s=95*n;
else
s=95*0.85*n;
printf("%.2f\n",s);
system("pause");
return 0;
}
习题1-8 绝对值
输入一个浮点数,输出它的绝对值,保留两位小数。
#include<stdio.h>
int main()
{
double a;
scanf("%lf",&a);
if(a>=0)
printf("%.2f",a);
else
printf("%.2f",-a);
return 0;
}
习题1-9 三角形
输入三角形的三条边(均为正整数),判断它是否能为直角三角形的三个边长。如果可以,则输出“yes”,如果不能则输出“no”,如果无法构成三角形,则输出“not a triangle”。
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
printf("yes\n");
else
if(a+b<=c||a+c<=b||b+c<=a)
printf("not a triangle\n");
else
printf("no\n");
system("pause");
return 0;
}
习题1-10 年份
输入年份,判断是否是闰年,如果是则输出“yes”,否则输出“no”。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int year;
scanf("%d",&year);
if(year%4!=0||(year%100==0&&year%400!=0))
printf("no\n");
else
printf("yes\n");
system("pause");
return 0;
}
相关文章推荐
- 《算法竞赛入门经典》第一章 程序设计入门 习题
- 李航 统计学习方法 第一章 课后 习题 答案
- 算法竞赛入门经典习题与解答-第一章
- 自考本科《计算机网络原理》课后习题参考答案(第一章)
- 计算机网络课后习题答案(第一章)
- 计算机程序的构造和解释第一章习题参考答案(DrPacket中编译通过)
- 鸟哥的Linux私房菜基础学习篇(第二版)第一章课后习题与答案
- 《计算机网络》第七版第一章总结及部分课后习题答案
- 算法竞赛入门经典 第3章 习题答案
- c++ primer第五版(中文)习题答案 第一章-开始
- 算法竞赛入门经典第一章【小结与习题】
- 第一章 绪论习题参考答案
- C++ Primer(5th)第一章习题答案
- 第一章习题答案
- 数据库系统概念(第六版)习题答案——第一章引言
- 快学scala 第一章 读书笔记及习题答案代码
- C++Primer第五版 第一章习题答案(部分)
- 快学scala第一章习题答案
- 算法竞赛入门经典(第2版)习题3-6 纵横字谜的答案 Crossword Answers UVa232
- 算法竞赛入门经典课后习题答案:第一章(C++解法)