用冒泡进行排序时,输入三个数,但有一个不能输出
问题描述:
有代码和运行后的图片,麻烦看下,好久了都没解决
#include <stdio.h>
void main()
{
int i,j;
float temp;
float num[3];
for(i = 0;i < 3;i++)
{
scanf("%f",&num[i]);
}
for(i = 0;i < 3;i++)
{
for(j = 0;j<3;j++)
{
if(num[j]>num[j+1])
{
temp = num[j];
num[j] = num[j+1];
num[j+1] = temp;
}
}
}
printf("%.2f %.2f %.2f\n",num[0],num[1],num[2]);
}

答
for(j = 0;j<2;j++)
不然 j=2时,j+1的时候就是num[3]了,数组越界了
觉得有用的话采纳一下哈