C语言程序设计:输入一个日期(含年、月、日),编程序输出该日期是该年度中的第

 我来答
俎静皖9f
2011-04-07 · TA获得超过721个赞
知道小有建树答主
回答量:68
采纳率:100%
帮助的人:102万
展开全部
y 年 m 月 d 日,是第几天 days 啊?
计算方法:
days = mon[1] + mon[2] + .... + mon[m-1] + d;
mon[i] 是 第 i 个月的天数;同时要注意,mon[2] 闰年29,否则28;

给出代码吧,虽然这样对你其实么有什么好处、

#include<stdio.h>

int main()
{
int mon[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30,31};
int y, m, d, days;
int leap, i;
scanf("%d %d %d", &y, &m, &d);
for(i = 1, days = 0; i < m; i++)
days += mon[i];
leap = (y % 4 == 0 && y % 100 || y % 400 == 0) ? 1 : 0;
if(m > 2)
days++;
printf("days = %d\n", days);
}

自己读,自己写,经常百度,不好~~~
刚才有个单词打错了,sorry、、~~
jiklong2005
2011-04-07 · TA获得超过296个赞
知道小有建树答主
回答量:159
采纳率:0%
帮助的人:114万
展开全部
#include<stdio.h>
main()
{
int whatday(int,int,int);
int year,month,day,ans;
printf("input year month day : ");
scanf("%d%d%d",&year,&month,&day);
ans=whatday(year,month,day);
printf("%d年%d月%d日是%d年的第%d天。\n",year,month,day,year,ans);
}
int whatday(int year,int month,int day) /*计算给定年月日的某一天是当年的第几天*/
{
int isleap(int);
int i,j,k,ans=0;
switch(month)
{
case 1:ans=0;break;
case 2:ans=31;break;
case 3:ans=59;break;
case 4:ans=90;break;
case 5:ans=120;break;
case 6:ans=151;break;
case 7:ans=181;break;
case 8:ans=212;break;
case 9:ans=243;break;
case 10:ans=273;break;
case 11:ans=304;break;
case 12:ans=334;break;
}
ans+=day;
if(((year%100!=0&&year%4==0)||year%400==0)&&month>2)ans++;
return ans;
}
比如输入:2010 10 8
输出:2010年10月8日是2010年的第281天。

参考资料: http://zhidao.baidu.com/question/189309683.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式