#include <stdio.h>
void Nextday(int year,int month,int day){
int dayofmonth[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int isleap;
isleap=year%4==0&&year%400==0||year%100!=0;
if(isleap){
dayofmonth[2]=29;
}else {
dayofmonth[2]=28;
}
if(day>dayofmonth[month]){
day=1;
month++;
}
if(month>12){
month=1;
year++;
}
}
int main(){
int year,month,day;
while(scanf("%d %d %d",&year,&month,&day)!=EOF){
int next=1;
int curmonth=1;
int curday=1;
while(1){
if(month==curmonth&&day==curday){
break;
}
Nextday(year, curmonth, curday);
++next;
}
printf("%d\n",next);
}
return 0;
} 靠家人们,这个代码哪里出问题了,帮忙看一下,一直运行不出来
#include<stdio.h>
int main(){
int months[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int year,month,days;
while(scanf("%d%d%d",&year,&month,&days)!=EOF)
{
int num=0;
if((year%4==0&&year%100!=0)||(year%400==0))
num=num+1;
for(int i=0;i<month-1;i++)
{
num+=months[i];
}
printf("%d\n",days+num);
}
return 0;
}
为什么1236 2 15这组数据通不过 预期46 实际输出47?
#include<stdio.h>
int IsLeapYear(int year){
return (year%400 == 0 || (year%100 != 0 && year % 4 == 0));
}
int main(){
int year, month, day;
int months[2][13] = {{0, 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334},
{0, 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335}};
while(scanf("%d%d%d", &year, &month, &day) != EOF) printf("%d\n", months[IsLeapYear(year)][month] + day);
} #include <stdio.h>
int main() {
int y, m, d, i, r;
int dom[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
while (scanf("%d%d%d", &y, &m, &d) != EOF) {
r = 0;
dom[2] = 28;
if(y % 400 == 0 || (y % 4 == 0 && y % 100 != 0))
dom[2] = 29;
for(i = 1; i < m; ++i)
r += dom[i];
r += d;
printf("%d\n", r);
}
return 0;
}