我已编写程序来输入数字并按C中的升序打印。我试过,但它无法正常工作。谁能告诉我如何以正确的方式做到这一点?
我尝试过使用排序但是它没有以正确的方式工作;怎么做?
代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int highest,temp=0; //decleartion
int a[5];
int i;
for(i=0;i<5;i++)
{
scanf("%d",&a[i]); //taking input
}
highest=a[0];
for(i=1;i<5;i++)
{
if(a[i]<a[0])
{
temp=a[0];
a[0]=a[i];
a[i]=temp; //comparing
}
}
for(i=0;i<5;i++)
{
printf("%d\n",a[i]); //printing
}
return 0;
}
答案 0 :(得分:1)
您的代码仅用于比较前两个元素。
试试这个 -
for (i = 0; i < n; ++i)
{
for (j = i + 1; j < n; ++j)
{
if (number[i] > number[j])
{
temp = number[i];
number[i] = number[j];
number[j] = temp;
}
}
}
答案 1 :(得分:0)
你也可以试试这个 -
for (i = 0; i < n; ++i)
{
for (j = i + 1; j < n; ++j)
{
if (number[i] > number[j])
{
number[i] = number[i] + number[j];
number[j] = number[i] - number[j];
number[i] = number[i] - number[j];
}
}
}