《算法竞赛入门经典》CH1 程序设计入门 习题

习题1-1 平均数(average)

题目:输入3个整数,输出他们的平均值,保留3位小数。

 

#include <stdio.h>
int main()
{	
     int a,b,c;
     scanf("%d%d%d",&a,&b,&c);
     printf("%.3lf\n",(double(a)+b+c)/3);
     return 0;
}


 

习题1-2 温度(temperature)

题目:输入华氏温度f,输出对应的摄氏温度c,保留3位小数。提示:c = 5(f-32)/9。

 

#include <stdio.h>
int main()
{ 
     double f,c;
     scanf("%lf",&f);
     c=5.0/9*(f-32);
     printf("%.3lf\n",c);
     return 0;
}


 

习题1-3 连续和(sum)

题目:输入正整数n,输出1+2+3+……+n的值。提示:目标是解决问题,而不是练习编程。

 

#include <stdio.h>
int main()
{	
     int n,sum;
     scanf("%d",&n);
     sum=n*(1+n)/2;
     printf("%d\n",sum);
     return 0;
}


 

 习题1-4 正弦和余弦(sincos)

题目:输入正整数n(n<360),输出n度的正弦、余弦函数值。提示:使用数学函数。

 

#include <stdio.h>
#include <math.h>
int main()
{	
     int n;
     const double PI=3.141592653;
     scanf("%d",&n);
     printf("%lf %lf\n",cos(n/180.0*PI),sin(n/180.0*PI));
     return 0;
}


 

习题1-5 距离(distance)

 

题目:输入4个浮点数x1, y1, x2, y2,输出平面坐标系点(x1, y1)到点(x2, y2)的距离。


 

#include <stdio.h>
#include <math.h>
int main()
{	
     double x1,y1,x2,y2;
     scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);
     printf("%lf\n",sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)));
     return 0;
}



习题1-6 偶数(odd)

题目:输入一个整数,判断它是否为偶数。如果是,则输出"yes",否则输出"no"。提示:可以用多种方法判断。

 

#include <stdio.h>
#include <math.h>
int main()
{	
     int a;
     scanf("%d",&a);
     if(a%2==0)
           printf("yes\n");
     else
           printf("no\n");
     return 0;
}


 

习题1-7 打折(discount)

题目:一件衣服95元,若消费满300元,可打八五折。输入购买衣服件数,输出需要支付的金额(单位:元),保留两位小数。

 

#include <stdio.h>
int main()
{	
     int n;
     scanf("%d",&n);
     if(95*n>=300)
         printf("%.2lf\n",95*n*0.85);
     else
         printf("%.2lf\n",double(95*n));
     return 0;
}



习题1-8 绝对值(abs)

题目:输入一个浮点数,输出它的绝对值,保留两位小数。

 

#include <stdio.h>
#include <math.h>
int main()
{	
     double a;
     scanf("%lf",&a);
     printf("%.2lf\n",fabs(a));
     return 0;
}


 

习题1-9 三角形(triangle)

题目:输入三角形三边长度值(均为正整数),判断它是否能为直角三角形的三个边长。如果可以,则输出“yes”,如果不能,则输出“no”。如果根本无法构成三角形,则输出“not a triangle”。

 

#include <stdio.h>
#include <math.h>
int main()
{	
     int a,b,c;
     scanf("%d%d%d",&a,&b,&c);
     if(!(a+b>c&&abs(a-b)<c))
         printf("not a triangle\n");
     else if(a*a+b*b==c*c||a*a+c*c==b*b||c*c+b*b==a*a)
         printf("yes\n");
     else
         printf("no\n");
     return 0;
}


 

习题1-10 年份(year)


题目:输入年份,判断是否为闰年。如果是,则输出“yes”,否则输出“no”。提示:简单地判断除以4的余数是不够的。

 

#include <stdio.h>
int main()
{	
     int year;
     scanf("%d",&year);
     if(year%4==0&&year%100!=0||year%400==0)
         printf("yes\n");
     else
         printf("no\n");
     return 0;
}




 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值