今天在PTA,这也算错吗,那应该怎么写
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//判断瑞年
int SpecialYear(int year) {
if ((year % 4 == 0 && year % 100 != 0 )|| year % 400 == 0) {//判断瑞年
return 1;
}
else {
return 0;
}
}
//计算天数
void SumArrDays(int year, int moon, int day) {
int sumDays = 0;
if (moon < 1 || moon>12 || day < 1 || day>31) {
printf("ErrorInput\n");
}
else {
for (int j = 1; j < moon; j++) {
if (j == 4 || j == 6 || j == 9 || j == 11) {
sumDays += 30;
}
else if (j == 1 || j == 3 || j == 5 || j == 7 || j == 8 || j == 10 || j == 12) {
sumDays += 31;
}
else if (j == 2 && SpecialYear(year)) {
sumDays += 29;
}
else {
sumDays += 28;
}
}
sumDays += day;
printf("Totaldays= %d\n", sumDays);
}
}
int main() {
int n=0;//输入多少行的行数
scanf("%d", &n);
while ( n--) {
int year, moon, day;
scanf("%d %d %d", &year, &moon, &day);//输入年月日
SumArrDays(year, moon, day);
}
return 0;
}
PTA测试
本地测试