#include<stdio.h>
#define i 11
int main()
{
int y;
int d[i]={31,28,31,30,31,30,31,31,30,31,30,31};
printf("请输入年份:");
scanf("%d",&y);
if(y/4==0)
{
d[1]=29;
}
else
{
d[1]=28;
}
for(i=0;i<=11;i++)
{
printf("%d月份:%d天\n",i+1,d[i]);
}
return 0;
}
请问以下的错误代码应该怎么修改成为目标程序要求输入年份,结果显示每个月的天数(需要辨别闰年)
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
qzjhjxj 2022-02-22 08:40关注修改处见注释,供参考:
#include<stdio.h> #define i 12 //11 修改 int main() { int y, j; // 修改 int d[i] = { 31,28,31,30,31,30,31,31,30,31,30,31 }; printf("请输入年份:"); scanf("%d", &y); if ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0))//if (y / 4 == 0) { d[1] = 29; } //else //{ // d[1] = 28; //} for (j = 0; j < 12; j++)//for (i = 0; i <= 11; i++) { printf("%d月份:%d天\n", j + 1, d[j]);// i + 1, d[i] } return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报 编辑记录解决 1无用