当前位置: 代码迷 >> C语言 >> 写一个小程序实现以下功能!
  详细解决方案

写一个小程序实现以下功能!

热度:197   发布时间:2008-01-20 21:31:02.0
d = 1 + (t == 0);
问一下这句是什么意思?
----------------解决方案--------------------------------------------------------
应该就是很多case吧
----------------解决方案--------------------------------------------------------
都没人看二楼连接的文章吗??i
nt GetDay(int y, int m, int d) //y年m月d日
{
    int s=d;
    int List[12]={31,28,31,30,31,30
            31,31,30,31,30,31};
    if(y%400==0 || (y%100 && y%4==0)) //判断闰年
    {
        ++List[1]; //是的话2月多加一天
    }
    for(y=0, --m; y<m; ++y) //年份变量已不再需要,直接作为循环变量
    {
        s += List[y]; //直接累加
    }
    return s; //返回这天是那一年的第几天
}
这是里面的程序,不用case的
----------------解决方案--------------------------------------------------------
我有一个疑问:
程序要不要求用户输入日期的格式?
----------------解决方案--------------------------------------------------------
输入日期可以输出他是1年中的第几天!
/* Note:Your choice is C IDE */
#include "stdio.h"
main()
{
int year,month,day,er;
printf("please input year month,day:");
scanf("%d%d%d",&year,&month,&day);
if(year%400==0||year%4==0&&year%100!=0) er=29;
else er=28;
switch(month)
   {
    case 1:
      day=day;
      break;
    case 2:
      day=day+31;
      break;
    case 3:
      day=day+31+er;
      break;
    case 4:
      day=day+31+er+31;
      break;
    case 5:
      day=day+31+er+31+30;
      break;
    case 6:
      day=day+31+er+31+30+31;
      break;
    case 7:
      day=day+31+er+31+30+31+30;
      break;
    case 8:
      day=day+31+er+31+30+31+30+31;
      break;
    case 9:
      day=day+31+er+31+30+31+30+31+31;
      break;
    case 10:
      day=day+31+er+31+30+31+30+31+31+30;
      break;
    case 11:
      day=day+31+er+31+30+31+30+31+31+30+31;
      break;
    case 12:
      day=day+31+er+31+30+31+30+31+31+30+31+30;
      break;  
   }
  printf("%d",day);
}
----------------解决方案--------------------------------------------------------
好楼上的不错!
----------------解决方案--------------------------------------------------------
原帖由 [bold][underline]smltq[/underline][/bold] 于 2008-1-21 17:51 发表 [url=http://bbs.bccn.net/redirect.php?goto=findpost&pid=1185265&ptid=198067][/url]
/* Note:Your choice is C IDE */
#include "stdio.h"
main()
{
int year,month,day,er;
printf("please input year month,day:");
scanf("%d%d%d",&year,&month,&day);
if(year%400==0||year%4==0&&year%100!=0 ...

对闰年概念不明白,问个尴尬的问题.请讲解下
为什么闰年要满足条件:x%4==0&&x%100!=0||x%400==0   ?
还有,闰年为什么er=29不是er=28?
程序里面er是设的2月天数把,闰年就29天不是闰年就28天吗?迷糊...
----------------解决方案--------------------------------------------------------
  相关解决方案