解题思路:1、定义结构体,并定义结构体变量
2、闰年:
普通闰年:公历年份是4的倍数,且不是100的倍数的,为闰年(如2004年、2020年等就是闰年)。
世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是闰年,2000年是闰年)
3、用if嵌套,看看是否闰年,用循环相加日数.
参考代码:
#include <stdio.h>
#include <string.h>
#include<math.h>
#define PI 3.1415
int main()
{
int i,d=0;
struct date
{
int year;
int mouth;
int day;
}date1;
scanf("%d %d %d",&date1.year,&date1.mouth,&date1.day);
for ( i = 1; i <date1.mouth; i++)
{
if (i==1||i==3||i==5||i==7||i==8||i==10||i==12)
d=d+31;
if (i==2)
if(date1.year%4==0&&date1.year%4!=0)
d=d+29;
else if(date1.year%400==0)
d=d+29;
else
d=d+28;
if (i==4||i==6||i==9||i==11)
d=d+30;
}
d=d+date1.day;
printf("%d",d);
return 0;
}
0.0分
8 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
@mmmm #include <stdio.h> struct date { int year; int m; int day; }y1; int main() { int rd,t=0; scanf("%d%d%d",&y1.year,&y1.m,&y1.day); if(y1.m==1) { rd=y1.day; } else if(y1.m==2) { rd=31+y1.day; }else if(y1.year%4==0&&y1.year%100!=0||y1.year%400==0) { for(t=1;t<y1.m;t++) { switch(t) { case 1:case 3:case 5:case 7:case 8:case 10:case 12: rd+=31;break; } switch(t) { case 4:case 6:case 9:case 11: rd+=30;break; } } rd=rd+29+y1.day; }else { for(t=1;t<y1.m;t++) { switch(t) { case 1:case 3:case 5:case 7:case 8:case 10:case 12: rd+=31; } switch(t) { case 4:case 6:case 9:case 11: rd+=30; } } rd=rd+28+y1.day; } printf("%d",rd); return 0; }#include <stdio.h> struct date { int year; int m; int day; }y1; int main() { int rd,t=0; scanf("%d%d%d",&y1.year,&y1.m,&y1.day); if(y1.m==1) { rd=y1.day; } else if(y1.m==2) { rd=31+y1.day; }else if(y1.year%4==0&&y1.year%100!=0||y1.year%400==0) { for(t=1;t<y1.m;t++) { switch(t) { case 1:case 3:case 5:case 7:case 8:case 10:case 12: rd+=31;break; } switch(t) { case 4:case 6:case 9:case 11: rd+=30;break; } } rd=rd+29+y1.day; }else { for(t=1;t<y1.m;t++) { switch(t) { case 1:case 3:case 5:case 7:case 8:case 10:case