为了账号安全,请及时绑定邮箱和手机立即绑定

请问,我的代码哪里错了?

请问,我的代码哪里错了?

C C++
沐竹雨 2015-08-05 09:43:00
实现功能:请使用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天是哪里错了?
查看完整描述

2 回答

已采纳
?
王醒醒ok

TA贡献5条经验 获得超1个赞

你没有算8月份的这8天,就是sum的值要加上day

查看完整回答
反对 回复 2015-08-05
?
qq_无名氏_6

TA贡献5条经验 获得超0个赞

你没有算8月份的这8天,就是sum的值要加上day

查看完整回答
反对 回复 2015-08-05
  • 2 回答
  • 0 关注
  • 1472 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信