| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5411 人关注过本帖
标题:输入年月日输出第几天
只看楼主 加入收藏
smartwind
Rank: 1
等 级:新手上路
威 望:1
帖 子:277
专家分:0
注 册:2006-11-13
收藏
得分:0 
楼上有点小错误
被100整除的年份必须要被400整除才是闰年,像2100年就不是闰年

2006-11-17 15:16
清风飒影
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-11-10
收藏
得分:0 

有两个类似的程序:

输入年和月,输出该月有多少天?(我们的作业题,嘿嘿) 在TURBO C V2.01 下调试通过。

第一个:
#include "stdio.h"
#include "conio.h"
main ()
{
int year,month;
clrscr ();
printf ("please input number like this: [year],[month]\n\n");
scanf ("[%d],[%d]",&year,&month);
printf("\n");
if (year%4==0&&year%100!=0||year%400==0)
{
printf ("year=%d;month=%d;",year,month);
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:printf ("day=31\n\n"); break;
case 2:printf ("day=29\n\n"); break;
case 4:
case 6:
case 9:
case 11:printf ("day=30\n\n"); break;
default:printf ("the number is error!\n\n"); break;
}

}
else
{
printf ("year=%d;month=%d;",year,month);
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:printf ("day=31\n\n"); break;
case 2:printf ("day=28\n\n"); break;
case 4:
case 6:
case 9:
case 11:printf ("day=30\n\n"); break;
default:printf ("the number is error!\n\n"); break;
}
}
}

第二个:

#include "stdio.h"
#include "conio.h"
main()
{
int year,month;
clrscr();
printf("please input number like this: [year],[month]\n");
printf("\n\n");
scanf("[%d],[%d]", &year, &month);
if(year%4==0&&year%100!=0||year%400==0)
if(1==month||3==month||5==month||7==month||8==month||10==month||12==month)
printf ("day=31\n");
else if (2==month)
printf ("day=29\n");
else printf("day=30\n");
else
if (1==month||3==month||5==month||7==month||8==month||10==month||12==month)
printf("day=31\n");
else if (2==month) printf("day=28\n");
else printf("day=30\n");
}


2006-11-18 15:47
zhuzj303
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-11-15
收藏
得分:0 
main()
{
int day, month, year, sum, leap;
printf("\nplease input year, month, day\n");
scanf("%d, %d, %d", &year, &month, &day);
switch(month) /* 先计算某月以前月份的总天数 */
{
case 1: sum=0; break;
case 2: sum=31; break;
case 3: sum=59; break;
case 4: sum=90; break;
case 5: sum=120; break;
case 6: sum=151; break;
case 7: sum=181; break;
case 8: sum=212; break;
case 9: sum=243; break;
case 10: sum=273; break;
case 11: sum=304; break;
case 12: sum=334; break;
default: printf("data error");break;
}
sum = sum + day; /* 再加上某天的天数 */
if(year %400 == 0 || (year % 4 == 0 && year % 100 != 0)) /* 判断是不是闰年 */
leap = 1;
else
leap = 0;
if(leap == 1 && month > 2) /* 如果是闰年且月份大于2, 总天数应该加一天 */
sum++;
printf("It is the %dth day.", sum);
}
这个不知道可以不可以,你看看吧

2006-11-20 18:46
天下云
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2006-11-6
收藏
得分:0 

#include <stdio.h>
#include <stdlib.h>
int isLeapYear(int year);

void main()
{
int date[2][13]={{0,30,28,31,30,31,30,31,31,30,31,30,31},//定义二维数组,存放每个月的天数!
{0,30,29,31,30,31,30,31,31,30,31,30,31}};
int y,m;
printf("请输入年份:");
scanf("%d",&y);
printf("请输入月份:");
scanf("%d",&m);
if(m<1||m>12)//判断用户输入的月份是否合理
{
printf("月份输入错误!程序退出!\n");
exit(0);
}
printf("%d年的%d月有%d天!\n",y,m,date[isLeapYear(y)][m]);
}

int isLeapYear(int year)//闰年的判断
{
if (year%400==0||(year%4==0&&year%100!=0))
{
return 1;
}
else
{
return 0;
}
}


2006-11-20 19:00
weiwuchao
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-11-22
收藏
得分:0 

都是书上的题目


2006-11-22 19:15
hellou
Rank: 1
来 自:安徽
等 级:新手上路
帖 子:12
专家分:0
注 册:2013-3-16
收藏
得分:0 
回复 8楼 unicorn
怎样能这样实现
输入:1985年1月20日
     (或2006/2/19)
     
输出:20
      71

我编程很差。
2013-03-22 15:30
快速回复:输入年月日输出第几天
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014779 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved