#include <stdio.h> int isleap(int year); //判断是否闰年 int whatday(int month, int day); //判断在普通年份下的天数。 main() { int year,month,day,num; scanf("%d %d %d",&year,&month,&day); num=whatday(month,day); if(month>=3 && isleap(year)==1) //如果过了二月份,而且是闰年 num++; //那就再增加一天 printf("%d\n",num); } @@1 @@1
#include<bits/stdc++.h>
bool leap(int year){
if( (year%4==0 && year%100!=0) || year%400==0 ) return true;
else return false;
}
int main(){
int year,month,day;
int leapm[12] = {31,29,31,30,31,30,31,31,30,31,30,31};
int common[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
while(~scanf("%d %d %d",&year,&month,&day)){
int days = 0;
if(leap(year))
for(int i=0;i<month-1;i++) days += leapm[i];
else for(int i=0;i<month-1;i++) days += common[i];
days += day;
printf("%d\n",days);
}
return 0;
}
#include <stdio.h>
int main()
{
int day, month, year, sum, leap;
printf("\n请输入年、月、日,格式为:年,月,日(2015 12 10)\n");
scanf("%d%d%d", &year, &month, &day); // 格式为:2019 05 10
switch (month) // 先计算某月以前月份的总天数
{
case 1:sum = 0;break;
case 2:sum = 31;break;
case 3:sum = 59;break;
case 4:sum = 90;break;
case 5:sum = 120;break;
case 6:sum = 151;break;
case 7:sum = 181;break;
case 8:sum = 212;break;
case 9:sum = 243;break;
case 10:sum = 273;break;
case 11:sum = 304;break;
case 12:sum = 334;break;
default:printf("data error");break;
}
sum = sum + day; // 再加上某天的天数
if (year%400 == 0 || (year % 4 == 0 && year %100 != 0))
{ // 判断是不是闰年
leap = 1;
}
else
{
leap = 0;
}
if (leap == 1 && month > 2)
{ // *如果是闰年且月份大于2,总天数应该加一天
sum++;
}
printf("这是这一年的第 %d 天。", sum);
printf("\n");
return 0;
}
这个好理解吧,前面列出12个月的天数,最后在判断是否是闰年,如果是 输入的月份大于2,天数多加1
希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html
希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10768339.html