C语言——求时针和分针的夹角
解决时间 2021-03-22 22:01
- 提问者网友:你挡着我发光了
- 2021-03-22 10:19
夹角的范围[0,180]
时针和分针的转动是连续而不是离散的
输入数据的第一行是一个数据T,表示有T组数据。
每组数据有三个整数h(0 <= h < 24),m(0 <= m < 60),s(0 <= s < 60)分别表示时、分、秒。
对于每组输入数据,输出夹角的大小的整数部分。
#include
int main()
{
int T;
double h,m,s,re;
scanf("%d",&T);
while(T--)
{
scanf("%lf%lf%lf",&h,&m,&s);
if(h>12)
h=h-12;
re=((h+(m+s/60)/60)/12)*360-((m+s/60)/60)*360;
if(re>180)
re=360-re;
printf("%d\n",(int)re);
}
}
这样怎么错了。
最佳答案
- 五星知识达人网友:罪歌
- 2021-03-22 11:10
在有运算的地方最好加上1.0*,目的是为了防止C的整整相除取整
全部回答
- 1楼网友:英雄的欲望
- 2021-03-22 13:08
题目要求输入三个整数h,m,s你设计输入的是三个double型的数据,这个应当改正
- 2楼网友:酒醒三更
- 2021-03-22 11:37
#include
int main(){
int T;
int h,m,s,re;
scanf("%d",&T);
while(T--){
scanf("%d%d%d",&h,&m,&s);
if(h>12) h=h-12;
re=(h/12.0*360+(m/60.0*360+s/60.0*360/60)/12)-(m/60.0*360+s/60.0*360/60);
if(re<0) re=re+360;
if(re>180) re=360-re;
printf("%d°\n",(int)re);
}
}
我要举报
大家都在看
推荐资讯