慕粉1473175450
2016-10-08 00:10
#include <stdio.h>
int main()
{
/* 定义需要计算的日期 */
int year=2008;
int month=8;
int day=8;
/*
* 请使用switch语句,if...else语句完成本题
* 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”
* 小编还是希望大家独立完成哦~
*/
int sum,flag;
switch(month)
{
case 1:sum=0+day;break;
case 2:sum=31+day;break;
case 3:sum=59+day;break;
case 4:sum=90+day;break;
case 5:sum=120+day;break;
case 6:sum=151+day;break;
case 7:sum=181+day;break;
case 8:sum=212+day;break;
case 9:sum=243+day;break;
case 10:sum=273+day;break;
case 11:sum=304+day;break;
case 12:sum=384+day;break;
default:printf("一年只有12个月哦!");break;
}
if(year%400==0||(year%4==0&&year%100!=0))
flag=1;
else
flag=0;
if(flag==1&&month>2)
sum++;
printf("%年%月%日是这一年的第%天\n",year,month,day,sum);
return 0;
}
同学,你的printf输出语句有问题,下面是改正后的代码
#include <stdio.h> int main() { /* 定义需要计算的日期 */ int year=2008; int month=8; int day=8; /* * 请使用switch语句,if...else语句完成本题 * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办” * 小编还是希望大家独立完成哦~ */ int sum,flag; switch(month) { case 1:sum=0+day;break; case 2:sum=31+day;break; case 3:sum=59+day;break; case 4:sum=90+day;break; case 5:sum=120+day;break; case 6:sum=151+day;break; case 7:sum=181+day;break; case 8:sum=212+day;break; case 9:sum=243+day;break; case 10:sum=273+day;break; case 11:sum=304+day;break; case 12:sum=384+day;break; default:printf("一年只有12个月哦!");break; } if(year%400==0||(year%4==0&&year%100!=0)) flag=1; else flag=0; if(flag==1&&month>2) sum++;//Error1:未加%d printf("%d年%d月%d日是该年的第%d天\n",year,month,day,sum);//Error2:这一年改为该年 return 0; }
望采纳
case12那里后面384应该是334
C语言入门
926210 学习 · 20797 问题
相似问题