Chinaunix首页 | 论坛 | 博客
  • 博客访问: 21766
  • 博文数量: 12
  • 博客积分: 271
  • 博客等级: 二等列兵
  • 技术积分: 140
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-05 11:17
文章分类

全部博文(12)

文章存档

2012年(12)

我的朋友
最近访客

分类: C/C++

2012-05-05 16:42:15


3.林老师的作业
这道题没有做出来。关于double去尾转换成整型数的问题,我知道是根据精度不足这个思路。但是由于不甚了解计算机关于此的具体工作原理,只能在多次尝试之后放弃。
 
5.日期
较为复杂问题,一步一步来,代码可能较多,但是这样能确保结果无误。同时根据计算机工作原理,可以达到很多意想不到的效果。(比如源代码中  flag函数的使用。)

点击(此处)折叠或打开

  1. #include <stdio.h>
  2. int flag(int y)
  3. {
  4.  if(y%4)
  5.   return 0;
  6.  else
  7.   return 1;
  8. }
  9. int main()
  10. {
  11.  int cal[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};
  12.  int n,y=2013,m=1,d=1;
  13.  scanf("%d",&n);
  14.  int dn=365+flag(y);
  15.  while(dn<n)
  16.  {
  17.   y++;
  18.   n=n-dn;
  19.   dn=365+flag(y);
  20.  }
  21.  while(cal[flag(y)][m-1]<n)
  22.  {
  23.   n=n-cal[flag(y)][m-1];
  24.   m++;
  25.  }
  26.  d=n;
  27.  printf("%d-",y);
  28.  if(m<10)printf("0");
  29.  printf("%d-",m);
  30.  if(d<10)printf("0");
  31.  printf("%d\n",d);
  32.  return 0;
  33. }

阅读(581) | 评论(2) | 转发(1) |
给主人留下些什么吧!~~

Nick_love_music2012-05-25 16:26:28

qizheguang: 支持,加油!.....
感谢你的到来~~让我们共同加油吧!!^ ^

qizheguang2012-05-24 08:46:25

支持,加油!