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

为什么我的没有输出

#include <stdio.h>
int main()
{
 /* 定义需要计算的日期 */
 int year = 2008;
 int month = 8;
 int day = 8;
 int sum = 0;
 int i = 0;
 int j = 0;
 /*
 * 请使用switch语句,if...else语句完成本题
 * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”
 * 小编还是希望大家独立完成哦~
 */
 month = i;
 if (i>7)
 {
  i -= 7;
  sum += 213;
 }
 i -= 1;
 i /= 2;
 i *= 61;
 sum = i + (month % 2) * 31;
 if (year % 100 == 0 && year % 400 == 0 || year % 4 == 0 && year % 100 != 0)j = 1;
 else j = 0;
 if (j == 1 && month>2)
 {
  sum -= 2;
 }
 if (j == 0 && month <= 2)
 {
  sum -= 1;
 }
 sum += day;
 printf("2008年8月8日是该年的第%d天", sum);

















 return 0;
}


正在回答

4 回答

新手表示看不懂0.0

0 回复 有任何疑惑可以回复我~

用codeblocks试试,可以得出是第8天

0 回复 有任何疑惑可以回复我~
#include <stdio.h>
int main()
{
 /* 定义需要计算的日期 */
 int year = 2008;
 int month = 8;
 int day = 8;
 int sum = 0;
 int i = 0;
 int j = 0;
 /*
 * 请使用switch语句,if...else语句完成本题
 * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”
 * 小编还是希望大家独立完成哦~
 */
 month = i;
 if (i>7)  //i为0,不执行
 {
      i -= 7;
      sum += 213;
 }
 i -= 1;   //-1
 i /= 2;   //-0.5
 i *= 61;  //-30.3
 sum = i + (month % 2) * 31;   //上面month = i ,month为0, sum为i,-30.5
 //&&和||是并列关系,要打括号,这里是j = 0
 if (year % 100 == 0 && year % 400 == 0 || year % 4 == 0 && year % 100 != 0)j = 1;
 else j = 0;
 if (j == 1 && month>2)
 {
      sum -= 2;
 }
 if (j == 0 && month <= 2)  //到这里
 { 
      sum -= 1;
 }
 sum += day;
 printf("2008年8月8日是该年的第%d天", sum);   //输出是7
 return 0;                                    //这逻辑...........
}


0 回复 有任何疑惑可以回复我~

有几种情况:1、在线编译器有BUG;2、有些字符的大小写不对(看你的编码没有问题);3、上传服务器时出错。

俺也是新手,以上是学习中遇到过的问题,希望能帮到你。

0 回复 有任何疑惑可以回复我~
#1

世纪__ 提问者

我也觉得编译器有问题
2016-01-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我的没有输出

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信