您的位置:首页 > 其它

算法竞赛入门经典第一章习题答案

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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: