#include <stdio.h>
int main()
{
/* 定义需要计算的日期 */
int year = 2008;
int month = 1;
int day = 8;
int i = 0 ;
for(int r = 0 ; r< month ; r++){
if(r==1||r==3||r==5||r==7||r==8||r==10||r==12){
i+=31;
}else if(r==4||r==6||r==9||r==11){
i+=30;
}
}
if(month>=2){
if((year%4==0&&year%100!=0)||(year%400==0)){
i+=29;
}else{
i+=28;
}
}
i+=day;
printf("%d年%d月%d日是该年的第%d天\n",year,month,day,i);
return 0;
}
简单并且更灵活了,但是没有用switch,话说我也是这么做的0.0
#include <stdio.h>
int main()
{
int year,month,day,i,r;
year=2008;
month=8;
day=8;
i=0;
for(r=0;r<month;r++)
{
if(r==1||r==3||r==5||r==7)
{
i+=31;
}
else if(r==4||r==6||r==8)
{
i+=30;
}
break;
}
if(month==2)
{
if((year%4==0&&year%100!=0)||year%100==0)
{
i+=29;
}
}
else
{
i+=28;
}
i+=day;
printf ("%d年 %d月%d日是该年的第%d天\n",year,month,day,i);
return 0;
}
大神我这个哪儿有问题,for语句的循环不计算
但是计算结果不符合要求,不正确,我代码放到编译器,结果不正确
#include <stdio.h>
int main()
{
int year,month,day,i,r;
year=2008;
month=8;
day=8;
i=0;
for(r=0;r<month;r++)
{
if(r==1||r==3||r==5||r==7)
{
i+=31;
}
else if(r==4||r==6||r==8)
{
i+=30;
}
break;
}
if(month==2)
{
if((year%4==0&&year%100!=0)||year%100==0)
{
i+=29;
}
}
else
{
i+=28;
}
i+=day;
printf ("%d年 %d月%d日是该年的第%d天\n",year,month,day,i);
return 0;
}
大神我这个哪儿有问题,for语句的循环不计算
可以,但不符合题目要求