杭电OJ2000题我的运行结果怎么是这样呀
#include<stdio.h>intmain(){chara[3],temp;intn,i,j;scanf("%d",&n);while(scanf("%c%c%c"...
#include <stdio.h>
int main()
{
char a[3], temp;
int n, i, j;
scanf(" %d", &n);
while (scanf(" %c %c %c", &a[0], &a[1], &a[2]) == 3)
{
getchar();
for (i = 0; i < n; i++)
{
for (j = i; j < n; j++)
{
if (a[i] > a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
printf("%c %c %c\n", a[0], a[1], a[2]);
}
return 0;
}
这是我的代码 为什么运行结果没有任意键退出 而且也不符合他的输入输出 该如何修改
2
qwe
q w e
asd
a s d 展开
int main()
{
char a[3], temp;
int n, i, j;
scanf(" %d", &n);
while (scanf(" %c %c %c", &a[0], &a[1], &a[2]) == 3)
{
getchar();
for (i = 0; i < n; i++)
{
for (j = i; j < n; j++)
{
if (a[i] > a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
printf("%c %c %c\n", a[0], a[1], a[2]);
}
return 0;
}
这是我的代码 为什么运行结果没有任意键退出 而且也不符合他的输入输出 该如何修改
2
qwe
q w e
asd
a s d 展开
1个回答
展开全部
#include <stdio.h>
int main()
{
char a[3], temp;
int n, i, j;
//scanf(" %d", &n); 不应该要输入n吧...
n=3;
while (scanf("%c%c%c", &a[0], &a[1], &a[2]) == 3) //输入的三个字符之间是没有空格的
{
getchar();//这个用来读空行
for (i = 0; i < n; i++)//选择排序...虽然...但是还是对的,是可以用的,这里数组的大小稳定在3,所以上面有n=3的赋值
{
for (j = i; j < n; j++)
{
if (a[i] > a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
printf("%c %c %c\n", a[0], a[1], a[2]);
}
return 0;
}
//14864696 2015-09-18 14:14:46 Accepted 2000 0MS 1392K 561 B G++ Robert
//这份代码已经 AC了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询