#include<stdio.h>void main(){
c4droid吧
全部回复
仅看楼主
level 12
CNA_HK 楼主
#include<stdio.h>
void main()
{
int i, j, t, k, a[10];
for (i = 0; i <= 9; i++)
{
scanf("%d", &a[i]);
}
k = i;
for (i = 0; i <= 9; i++)
{
for (j = i + 1; j <= 10; j++)
if (a[k] < a[j])
k = j;
if (i != k)
{
t = a[i];
a[i] = a[k];
a[k] = t;
}
}
for (i = 0; i <= 9; i++)
printf("%d\n", a[i]);
}
这段程序哪错了?
2017年12月17日 15点12分 1
level 12
CNA_HK 楼主
求大佬解答
2017年12月17日 15点12分 2
level 12
CNA_HK 楼主
有没有大佬解答下啊[小乖]
2017年12月18日 00点12分 3
level 8
k=i放11行那个位置
2017年12月18日 01点12分 4
不行啊,还是有问题
2017年12月18日 01点12分
不过谢谢了
2017年12月18日 01点12分
@CNA_HK 哪里有问题[疑问],我怎么可以运行
2017年12月18日 01点12分
你看我底下发的图片
2017年12月18日 01点12分
level 12
CNA_HK 楼主
他变成这样了
2017年12月18日 01点12分 5
[黑线]
2017年12月18日 01点12分
level 9
k挪动后把现在10,12行<=改成<
2017年12月18日 03点12分 6
[真棒][真棒]可是多了个8
2017年12月18日 03点12分
大神啊,谢了,我把最后的也改了8就没了,但是为啥要改成小于号呢?
2017年12月18日 03点12分
@CNA_HK j如果不改为<那么a[j]就是a[10]。a只有a[0]-a[9]十个数。所以超出数组界限了。而i比j要小一个。最后输出循环应该不用改的。<=9是对的。
2017年12月18日 04点12分
不是啊,我最后循环输出改成小于号才没有那个8了的[疑问]
2017年12月18日 04点12分
level 12
CNA_HK 楼主
2017年12月18日 03点12分 7
level 9
#include<stdio.h>
int main()
{
int i, j, t, k, a[10];
for (i = 0; i <= 9; i++)
{
scanf("%d", &a[i]);
}
for (i = 0; i < 9; i++)
{
k=i;
for (j = i + 1; j < 10; j++)
if (a[k] < a[j])
k = j;
if (i != k)
{
t = a[i];
a[i] = a[k];
a[k] = t;
}
}
for (i = 0; i <= 9; i++)
printf("%d\n", a[i]);
}
//我这没有
2017年12月18日 05点12分 9
level 12
CNA_HK 楼主
谢了,我知道了
2017年12月18日 05点12分 10
1