湘滦
2018-09-24 02:03
#include <stdio.h>
int main()
{
/* 定义需要计算的日期 */
int year = 2008;
int month = 8;
int day = 8;
int k,sum,i=0,j=0,f=0,n=0;
for(k=0;k<=month;k++)
{
switch(k)
{
case 0:
n=0;
break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
j+=31;
break;
case 2:
f+=28;
break;
case 4:
case 6:
case 9:
case 11:
i+=30;
break;
}
sum=i+j+f+n+day;
if(year%400==0&&month>2)
{
printf("这是一年中的第%d天",sum+1);
}
else
{
printf("这是一年中的第%d天",sum);
}
return 0;
}
标点符号
#include <stdio.h>
int main()
{
int year = 2008;
int month = 8;
int day = 8;
int febDays = 28;
int totalDays = 0;
/*计算二月份的天数
闰年包括普通闰年和世纪闰年;
普通年:能被4整除但不能被100整除的年份为普通闰年。(如2004年就是闰年,1999年不是闰年);
世纪年:能被400整除的为世纪闰年。(如2000年是闰年,1900年不是闰年)*/
if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{
febDays = 29;
}
switch(month)
{
case 12:
totalDays += 30;
case 11:
totalDays += 31;
case 10:
totalDays += 30;
case 9:
totalDays += 31;
case 8:
totalDays += 31;
case 7:
totalDays += 30;
case 6:
totalDays += 31;
case 5:
totalDays += 30;
case 4:
totalDays += 31;
case 3:
totalDays += febDays;
case 2:
totalDays += 31;
case 1:
totalDays += day;
break;
}
printf("%d年%d月%d日是该年的第%d天", year, month, day, totalDays);
return 0;
}
写简单点不好吗?搞那么复杂,没人想看你的代码的。大道至简啊,兄dei
另外要是月份只要是4月之后的你天数加起来怎么样都会是那么几十天..但实际上一年有365天.缺了好几个月啊.
year不是应该磨上4=0吗..为什么是400?
C语言入门
926023 学习 · 20793 问题
相似问题