@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;i scanf("%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;i scanf("%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
数组名是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;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;i
for(i=0;i
scanf("%d",&a[i]);
printf("%s ",str[a[i]]);
}
}追问不要新代码,给我改我的代码,求求了!!追答# include
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯