在线等答案!C语言改错题!

#defineCURRENT11#include<stdio.h>main(){intmonth,monthnum;char*ch;char*month_name(int... #define CURRENT 11
#include <stdio.h>

main()
{
int month,monthnum;
char *ch;
char *month_name(int);
printf("Input Month Number:");
scanf("%d",&monthnum);
/*------------Found Mistake Below------------*/
if(monthnum>=0)
month=(CURRENT-1+monthnum)%12+1;
else
month=(12+(CURRENT-1+monthnum))%12+1;
ch=month_name(month);
printf("Current month is %d\n",CURRENT);
printf("Add %d Months is: %s\n",month,ch);
}
/*------------Found Mistake Below------------*/
char *month_name(int n)
{
char *name[]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
return(name[n]);
}


gc367.c通过接受键盘输入的月数量,再根据当前的月份,可以计算出某一年的月份。例如,当前的月份是10,加输入的月数量5,月份是3;加输入的月数量 –13,月份是9。程序中输出的月份以英文字符显示。CURRENT为当前月份。程序有两处错误,请找出并修正,使之符合上述要求。不得增加行或删除行,也不得更改程序结构。
展开
 我来答
shlowdy
2009-11-29 · TA获得超过338个赞
知道小有建树答主
回答量:258
采纳率:0%
帮助的人:256万
展开全部
#define CURRENT 11
#include <stdio.h>

main()
{
int month,monthnum;
char *ch;
char *month_name(int);
printf("Input Month Number:");
scanf("%d",&monthnum);
/*------------Found Mistake Below------------*/
if(monthnum>=0)
month=(CURRENT-1+monthnum)%12+1;
else
month=(12+(CURRENT-1+monthnum)%12)%12+1; //错误 在(CURRENT-1+monthnum)后加上%12
ch=month_name(month);
printf("Current month is %d\n",CURRENT);
printf("Add %d Months is: %s\n",month,ch);
}
/*------------Found Mistake Below------------*/
char *month_name(int n)
{
char *name[]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
return(name[n-1]); // 改为n-1
}
tjm98
2009-11-29 · TA获得超过319个赞
知道小有建树答主
回答量:249
采纳率:0%
帮助的人:158万
展开全部
//应该跟你说的一样了,
#define CURRENT 11
#include <stdio.h>

main()
{
int month,monthnum;
char *ch;
char *month_name(int);
printf("Input Month Number:");
scanf("%d",&monthnum);
/*------------Found Mistake Below------------*/
if(monthnum>=0)
month=(CURRENT-1+monthnum)%12+1;
else
month=(12+(CURRENT-1+monthnum))%12+1;
ch=month_name(month);
printf("Current month is %d\n",CURRENT);
printf("Add %d Months is: %s\n",monthnum,ch);
}
/*------------Found Mistake Below------------*/
char *month_name(int n)
{
char *name[]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
return(name[n-1]);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bbsblare
2009-11-29 · TA获得超过261个赞
知道答主
回答量:281
采纳率:100%
帮助的人:0
展开全部
printf("Add %d Months is: %s\n",month,ch);
将month改为monthnum

char *name[]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};

在“Jan”前加上“”.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-11-29
展开全部
main()函数中的:

printf("Add %d Months is: %s\n",month,ch);

改为

printf("Add %d Months is: %s\n",monthnum,ch);

month_name()函数中的:

return(name[n]);
改为
return(name[n-1]);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式