怎么用C语言输入一个日期,求该日期是该年的第几天?

 我来答
历史小店555
高粉答主

2018-03-07 · 初中历史教学,高中教学课件
历史小店555
采纳数:17274 获赞数:66951

向TA提问 私信TA
展开全部

我大概给个思路,代码是现写的 没调试
先定义每个月的天数,2月按28天算
输入年月日后,根据年判断是否闰年(闰年加1天),再从1月加到当月的前一月,再加上日期就可以了

#include <stdio.h>
int month[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
main()
{int yy,mm,dd, days;
int i;
printf("input year:"); scanf("%d", &yy);
printf("input month:"); scanf("%d", &mm);
printf("input day:"); scanf("%d", &dd);
/* 如果大于2月,要做闰年的判断,忘了,不一定准 */
if( mm > 2 && ((year%4==0 && year%100!=0) || year%400==0) ) days = 1;
else days = 0;

/* 加上前面各整月的天数 */
for(i = 0; i < mm-1; i++) days += month[i];

/* 加上日数 */
days += dd;

printf("This is the %d day of year %d!!\n", days, yy);
}

比如输入 1999 2 1
应该输出:This is the 32 day of year 1999!!

养生寿寿天地长1577
2017-12-27 · TA获得超过184万个赞
知道顶级答主
回答量:68.9万
采纳率:51%
帮助的人:3.5亿
展开全部
楼上两个的整的太复杂了 可以弄的简单点这样容易看懂
# include<stdio.h>
# define M 10
void main()
{
int a[]={31,29,31,30,31,30,31,31,30,31,30,31},*p,sum=0,n,i=0,day;
p=a;
printf("请你输入月份1-12\n");
scanf("%d",&n);
printf("请你输入%d月份的第几天\n",n);
scanf("%d",&day);
while(i<n-1)
{
sum+=*p++;
i++;
}
sum+=day;
printf("%d月%d号属于该年第%d天\n",n,day,sum);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式