#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
typedef struct time { //这里的time是结构体名字
int year;
int month;
int day;
}Time;
int main() {
Time s1 ;//S3 s1; struct time s1均可
scanf("%d%d%d", &s1.year, &s1.month, &s1.day);
int sum = 0;
//第一种方法
int mt[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
if (s1.year % 4 == 0 && s1.year % 100 != 0 || s1.year % 400 == 0) {
mt[1] = 29;
}
for (int i = 1; i < s1.month ;i++) {//for(int i = 0; i < s1.month-1;i++){ sum += mt[i]; } 两种写法均可以
sum += mt[i-1];
}
sum += s1.day;
/*
第二种方法
int mo[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
for (int i = 0; i < s1.month - 1;i++) {
sum += mo[i];
}
sum += s1.day;
if (s1.year % 4 == 0 && s1.year % 100 != 0 || s1.year % 400 == 0) {
sum = sum + 1;
}*/
/*
第三种方法
for (int i = 1;i <= s1.month;i++) {
if (s1.month == i) {
sum += s1.day;
break;
}
else {
switch (i)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
sum += 31;
break;
case 2:
if (s1.year % 4 == 0 && s1.year % 100 != 0 || s1.year % 400 == 0) {
// 是闰年
sum += 29;
}
else {
// 不是闰年
sum += 28;
}
break;
case 4:
case 6:
case 9:
case 11:
sum += 30;
break;
}
}
}*/
printf("%d\n", sum);
}
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复