'C语言 定义一个包含年月日的结构体变量,任意输入一天,计算该日是本年的第几天

 我来答
生秋
2015-04-29 · 超过24用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:46万
展开全部
#include <stdio.h> 
#include<string.h>

struct date
{
int year, mouth, day;
};

int main()
{
struct date d;
int i, k=0, nday=0;

printf("请输入当前年月日: ");
scanf("%d%d%d", &d.year, &d.mouth, &d.day);

///先判断是否是闰年,符合条件就是闰年,k置为1
if(d.year%4==0 && d.year%100 != 0 || d.year%400 == 0)
k = 1;

for(i=1; i<d.mouth; i++)
{
//如果是2月并且是闰年,加上29天
if(i == 2 && k == 1)
nday += 29;
else if(i == 2)
nday += 28;
else if(i==1 || i==3 || i==5 || i==7 || i==8 || i==10 || i==12)
nday += 31;
else
nday += 30;
}

nday += d.day;

printf("今天是今年的第 %d 天\n", nday);

return 0;
}
百度网友e131f11
2020-07-11
知道答主
回答量:1
采纳率:0%
帮助的人:576
展开全部
#include <stdio.h>
void main()
{
int year,month,day,days=0,i;
printf("请输入年月日:");
scanf("%d%d%d",&year,&month,&day);
if(year<1 || month>12 || month<1 || day>31)
printf("日期输入错误!!!\n");
else
{
if(month>1)
for(i=1;i<month;i++)
if(i==2)
days+=28;
else if(i==4|| i==6||i==9||i==11)
days+=30;
else
days+=31;
days+=day;
}
if((month>2) && ((year%400==0)||(year%4==0 && year%100!=0)))
days+=1;
printf("%d年%d月%d日是%d年%d天!\n",year,month,day,year,days);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
听不清啊
高粉答主

2015-04-29 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.8亿
展开全部

追答
#include
int main()
{struct dat{int y,m,d;}date;
int i,n;
scanf("%d%d%d",&date.y,&date.m,&date.d);
n=date.d;
for(i=1;i0||date.y%400==0)n+=29;
else n+=28;
}
printf("%d-%d-%d is No.%d day of %d\n",date.y,date.m,date.d,n,date.y);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
威晓明
2017-11-04
知道答主
回答量:10
采纳率:66%
帮助的人:8837
展开全部
#include <stdio.h>
#include<string.h>
struct date
{
int year,mouth,day;
};
int main()
{
struct date d;
int i,k=0,nday=0;
scanf("%d%d%d", &d.year,&d.mouth,&d.day);
if(d.year%4==0&& d.year%100!=0|| d.year%400==0)
k=1;
for(i=1;i<d.mouth;i++)
{
if(i==2&&k==1)
nday+=29;
else if(i==2)
nday+=28;
else if(i==1||i==3 ||i==5||i==7||i==8 ||i==10||i==12)
nday+=31;
else
nday+=30;
}
nday+=d.day;
printf("%d",nday);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式