c语言编程:编写程序,输入某年某月某日,判断这一天是这一年的第几天?麻烦帮忙解解呗

 我来答
741852963一
推荐于2018-05-10 · TA获得超过268个赞
知道小有建树答主
回答量:354
采纳率:0%
帮助的人:213万
展开全部
#include <stdio.h>
#include<Windows.h>
void main()
{
int y,m,d,sum1=0,sum2=0,i=0,sumok1=0,sumok2=0;
int a1[]={31,29,31,30,31,30,31,31,30,31,30,31};
int a2[]={31,28,31,30,31,30,31,31,30,31,30,31};

printf("输入年月日(用逗号隔开):\n");
scanf("%d,%d,%d",&y,&m,&d);

if (y%4==0&&y%100!=0||y%400==0) /*闰年,2月29天*/
{
while (i<m-1)
{
sum1=a1[i]+sum1;
i++;
}
sumok1=sum1+d;
printf("这是该年的第%d天\n",sumok1);

}
else
{
while (i<m-1)
{
sum2=a2[i]+sum2;
i++;
}
sumok2=sum2+d;
printf("这是该年的第%d天\n",sumok2);

}
system("pause");
}vs2010下运行成功,如图。 我的另一个回答。

参考资料: http://zhidao.baidu.com/question/422692355.html?oldq=1

前端小茶馆
2012-05-13 · TA获得超过962个赞
知道小有建树答主
回答量:329
采纳率:0%
帮助的人:344万
展开全部
很简单
1.首先计算本月之前一共有多少天
2.计算本月至今有多少天
3.如果是闰年,且计算的月份超过了2月,则再多加1天

我没有判断输入的合法性,比如2012 2 30这些数据没有进行判断。你可以自己进行一下合法性的判断。

#include<stdio.h>
#include<stdlib.h>

int main()
{
int mon[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30,31, 30, 31};
int i, year, month, day, sum;

while(scanf("%d %d %d", &year, &month, &day)==3)
{
sum=0;

//计算本月之前一共有多少天
for(i=0; i<month-1; i++)
{
sum += mon[i];
}

//加上本月到今天的天数
sum += day;

//如果是闰年,且计算的月份大于等于3,则多加1天
if(((year%4==0)||(year%100==0 && year%400!=0)) && month>=3)
{
sum++;
}
printf("%d\n", sum);
}

return 0;

}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
军飞双0l
2012-05-23 · TA获得超过278个赞
知道小有建树答主
回答量:238
采纳率:50%
帮助的人:66.3万
展开全部
#include <stdio.h>//c language
int LeapYear(int year)
{
if(year%400==0)
return 29;
else
if(year%4==0)
return 29;
else
return 28;
}
void main()
{
int year=2011,month=5,day=12,n=0;
scanf("%d%d%d",&year,&month,&day);
switch(month-1)
{
case 11:n+=30;
case 10:n+=31;
case 9:n+=30;
case 8:n+=31;
case 7:n+=31;
case 6:n+=30;
case 5:n+=31;
case 4:n+=30;
case 3:n+=31;
case 2:n+=LeapYear(year);
case 1:n+=31;
}
n+=day;
printf("%d\n",n);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式