实现功能:请使用switch语句和if...else语句,计算2008年8月8日这一天,是该年中的第几天。
#include <stdio.h> int main() { /* 定义需要计算的日期 */ int year = 2008; int month = 8; int day = 8; int sum,flag; switch(month) { case 1:sum=0;break; case 2:sum=31;break; case 3:sum=31+28;break; case 4:sum=31+28+31;break; case 5:sum=31+28+31+30;break; case 6:sum=31+28+31+30+31;break; case 7:sum=31+28+31+30+31+30;break; case 8:sum=31+28+31+30+31+30+31;break; case 9:sum=31+28+31+30+31+30+31+31;break; case 10:sum=31+28+31+30+31+30+31+31+30;break; case 11:sum=31+28+31+30+31+30+31+31+30+31;break; case 12:sum=31+28+31+30+31+30+31+31+30+31+30;break; default:printf("%s\n","一年只有12个月哦!!!");break; } if((year%100==0&&year%100==0)||year%400==0) {flag=1;} else {flag=0;} if(flag=1&&month>2) sum++; printf("%d年%d月%d日是该年的第%d天",year,month,day,sum); return 0; }
正确答案是:2008年8月8日是改年的第221天
但是,上面的代码得到的答案是:2008年8月8日是改年的第213天
是哪里错了?
王醒醒ok
qq_无名氏_6