华师一附中OI组

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1447|回复: 2
打印 上一主题 下一主题

0:00:00 到23:59:59的某一时刻,时针和分针的夹角是多少

[复制链接]

738

主题

1485

帖子

5420

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5420
跳转到指定楼层
楼主
发表于 2018-6-3 10:06:59 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
输入时 分 秒三个数字,输出此时时针和分针的夹角,格式是度 分 秒 ,秒四舍五入,夹角的范围是0-180
回复

使用道具 举报

738

主题

1485

帖子

5420

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5420
板凳
 楼主| 发表于 2018-6-10 17:43:12 | 只看该作者
小技巧:若x是实数,int(x)是把x的小数部分砍掉,int(x+0.5)就是把x四舍五入。
回复 支持 反对

使用道具 举报

738

主题

1485

帖子

5420

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5420
沙发
 楼主| 发表于 2018-6-10 09:59:29 | 只看该作者
先做一个简版的,大家看看
  1. ///给出时分,求夹角,四舍五入
  2. #include <iostream>
  3. #include <cmath>
  4. using namespace std;
  5. int h,m,s;
  6. float sz,fz,jj,kk;
  7. int du,fen,miao;

  8. int  main()
  9. {
  10.     cin>>h>>m>>s;
  11.     sz=(h+m/60.0+s/3600.0)*(360.0/12); ///求出时针与12点的夹角
  12.     fz=(m+s/60.0)*360.0/60;///求出分针与12点的夹角

  13.     jj=abs(fz-sz);  ///判断处理角度
  14.     if (jj>180) jj=360-jj;

  15.     du=jj;
  16.     kk=jj-du; ///小时的小数部分
  17.     fen=kk*60;
  18.     miao=(kk*60-fen)*60+0.5;

  19.     cout<<du<<' '<<fen<<' '<<miao;
  20.     return 0;
  21. }
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|服务支持:DZ动力|华师一附中OI组  

GMT+8, 2024-11-2 02:23 , Processed in 0.136417 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表