永发信息网

@C语言大神,我用在线oj测试,有一个数据不能通过,代码求检查?

答案:1  悬赏:20  手机版
解决时间 2021-12-02 11:39
  • 提问者网友:抽煙菂渘情少年
  • 2021-12-01 16:06
@C语言大神,我用在线oj测试,有一个数据不能通过,代码求检查?
最佳答案
  • 五星知识达人网友:逐風
  • 2021-12-01 16:48
scanf("%d %d %d %d %d",&a[1],&a[2],&a[3],&a[4],&a[5]);


数组名是a[5],最大只能是a[4]
# include

# include

int main()

{

int n,a[5],i;

char s1[10],s2[10],s5[10],s3[10],s4[10];

scanf("%d",&n);

while(1<=n&&n<=5)

{

if(n==5)

{

scanf("%s",s1);

scanf("%s",s2);

scanf("%s",s3);

scanf("%s",s4);

scanf("%s",s5);

    }

if(n==4)

{

scanf("%s",s1);

scanf("%s",s2);

scanf("%s",s3);

scanf("%s",s4);

    }

if(n==3)

{

scanf("%s",s1);

scanf("%s",s2);

scanf("%s",s3);

    }

if(n==2)

{

scanf("%s",s1);

scanf("%s",s2);

    }

if(n==1)

scanf("%s",s1);

break;

    }

 if(n==5) scanf("%d %d %d %d %d",&a[0],&a[1],&a[2],&a[3],&a[4]);

 if(n==4) scanf("%d %d %d %d",&a[0],&a[1],&a[2],&a[3]);

 if(n==3) scanf("%d %d %d",&a[0],&a[1],&a[2]);

 if(n==2) scanf("%d %d",&a[0],&a[1]);

 if(n==1) scanf("%d",&a[0]);

 for(i=0;i
{

if(a[i]==0) {printf("%s ",s1);continue;}

if(a[i]==1) {printf("%s ",s2);continue;}

if(a[i]==2) {printf("%s ",s3);continue;}

if(a[i]==3) {printf("%s ",s4);continue;}

if(a[i]==4) {printf("%s ",s5);continue;}

}

 if(i==n)

  {

if(a[i]==0) printf("%s",s1);

if(a[i]==1) printf("%s",s2);

if(a[i]==2) printf("%s",s3);

if(a[i]==3) printf("%s",s4);

if(a[i]==4) printf("%s",s5);

}

printf("
");

}追问不对,按照你的说法,题目中的第一组测试数据都就不能通过了追答
你是说时间和内存限制?追问??你把你代码发过来看看追答我不都发过了吗?照你的改的。再来一个简略版
#include
#include
int main() 
{
 
 int n,a[5],i;
 
char str[5][10];
 
scanf("%d",&n);
 
if(1<=n&&n<=5)
for(i=0;iscanf("%s",str[i]);

for(i=0;i{
  scanf("%d",&a[i]);
  printf("%s ",str[a[i]]);
 }
}追问没看见,再来一遍追答#include
#include
int main()
{

int n,a[5],i;

char str[5][10];

scanf("%d",&n);

if(1<=n&&n<=5)
for(i=0;iscanf("%s",str[i]);

for(i=0;i{
scanf("%d",&a[i]);
printf("%s ",str[a[i]]);
}
}追问不要新代码,给我改我的代码,求求了!!追答# include # include int main() { int n,a[5],i; char s1[10],s2[10],s5[10],s3[10],s4[10]; scanf("%d",&n); while(1<=n&&n<=5) { if(n==5) { scanf("%s",s1); scanf("%s",s2); scanf("%s",s3); scanf("%s",s4); scanf("%s",s5); } if(n==4) { scanf("%s",s1); scanf("%s",s2); scanf("%s",s3); scanf("%s",s4); } if(n==3) { scanf("%s",s1); scanf("%s",s2); scanf("%s",s3); } if(n==2) { scanf("%s",s1); scanf("%s",s2); } if(n==1) scanf("%s",s1); break; } if(n==5) scanf("%d %d %d %d %d",&a[0],&a[1],&a[2],&a[3],&a[4]); if(n==4) scanf("%d %d %d %d",&a[0],&a[1],&a[2],&a[3]); if(n==3) scanf("%d %d %d",&a[0],&a[1],&a[2]); if(n==2) scanf("%d %d",&a[0],&a[1]); if(n==1) scanf("%d",&a[0]); for(i=0;i
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯