ll0610 @ 2024-11-27 15:57:15
int main()
{
int i,a,b,c,j,temp;
int d[3];
for(int m=0;m<3;m++)
{
scanf("%d",&d[m]);
}
for(i=1;i<3;i++)
{
for(j=0;j<3-i;j++)
if(d[j]>d[j+1])
{
temp=d[j];
d[j]=d[j+1];
d[j+1]=temp;
}
}
char s[3];
scanf("%s",s);
for(int r=0;r<3;r++)
{
switch(s[r])
{
case'A':
printf("%d\0",d[0]);
break;
case'B':
printf("%d\0",d[1]);
break;
case'C':
printf("%d\0",d[2]);
break;
}
}
printf("\n");
return 0;
}
by Kristoph_Gavin @ 2024-11-27 16:18:30
@ll0610
越界了。char s[3];
改成 char s[4];
就过了
by ll0610 @ 2024-11-27 16:26:55
@Kristoph_Gavin可以具体问问为什么嘛?
by ll0610 @ 2024-11-27 16:31:15
@Kristoph_Gavin好像还是不行
by Justskr @ 2024-11-27 21:01:33
一共有俩错误啊。
第一个是你输出连空格都没加。。。。
第二个是字符的输入,由于输入具有空格,所以如果你直接输入字符串的话是接受不到数据的。
将你的
scanf("%s",s);
改成
for(int i = 0 ;i < 3;i++) cin >> s[i];
就好了