#include<stdio.h>
int main()
{
char ch[1000];
int n=0,i,j,k,w;
for(w=0;w<1000;w++)
{
scanf("%c",&ch[w]);
if(ch[w]=='\n') break;
}
ch[w]='\0';
for(i=0;i<w;i++)
{
if(ch[i]=='6')
{
for(j=i;j<1000;j++)
{
if(ch[j]!='6')
{
if(n>3&&n<=9) printf("9");
if(n>9) printf("27");
if(n<=3)
{
for(k=0;k<n;k++)
printf("6");
}
i=j;
if(j!=w) printf("%c",ch[j]);
break;
}
n++;
}
}
else printf("%c",ch[i]);
n=0;
}
return 0;
}

算法问题(问题如图),有一个测试点出现错误,请问代码哪里有问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 乔千玫 2022-04-07 11:39关注
数组开大点试试,可能正好卡在1000个元素,然后ch[m]=‘\0’这里就越界了
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报