帮帮小白吧,求救
#include <stdio.h>#define N 10
int main()
{
int a;
int i,j,temp;
for(i=0;i<N;i++)
scanf("%d",&a);
printf("\n");
for(i=0;i<N-1;i++)
for(j=0;i<N-i-1;j++)
if(a>a)
{
temp=a;
a=a;
a=temp;
}
for(i=0;i<N;i++)
printf("%5d",a);
printf("\n");
return 0;
}
输入十个数怎么不是按大小排列的呀,排列出来还是我输入的顺序 #include <stdio.h>
#include <string.h>
//*******************排序************************
int main()
{
int sort(int array[],int n);
int a,i,result;
printf("enter the array:\n") ;
for (i = 0;i<10;i++)
{
scanf("%d",&a);
}
sort(a,10);
printf("the sorted array:\n") ;
for (i = 0;i<10;i++)
{
printf("%d",a);
printf("\n");
}
return 0;
}
int sort(int array[],int n)
{
int i ,j,t;
for (i = 0;i<n-1;i++)
{
for (j = i + 1;j<n;j++)
{
if(array < array)
{
t = array;
array = array;
array = t;
}
}
}
return array;
}
再给你一个版本,按照你的修改的
#include <stdio.h>
#include <string.h>
#include <math.h>
#define N 10
int main()
{
int a;
int i,j,temp;
for(i=0;i<N;i++)
{
printf ("enter number:");
scanf("%d",&a);
printf("\n");
}
for(i=0;i<N-1;i++)
{
for(j=i+1;j<N;j++)
{
if(a>a)
{
temp=a;
a=a;
a=temp;
}
}
}
for(i=0;i<N;i++)
{
printf("%5d",a);
printf("\n");
}
return 0;
} 猪猪虾 发表于 2020-10-24 14:11
再给你一个版本,按照你的修改的
但我那个输入十个数怎么排列的数序还是我输入的顺序 ,并没有按升降序排列 936241151 发表于 2020-10-24 14:21
但我那个输入十个数怎么排列的数序还是我输入的顺序 ,并没有按升降序排列
你对比我的程序和你的程序,你的问题在i,j循环时候范围不一样,还有就是赋值的时候 本帖最后由 乐乐学编程 于 2020-10-25 08:39 编辑
你的程序有一个错误,看注释
#include <stdio.h>
#define N 10
int main()
{
int a;
int i,j,temp;
for(i = 0;i < N;i++)
{
scanf("%d",&a);
}
printf("\n");
for(i = 0;i < N - 1;i++)
{
for(j = 0;j < N - i - 1;j++) // j的变量错写i了
{
if(a > a)
{
temp = a;
a = a;
a = temp;
}
}
}
for(i = 0;i < N;i++)
{
printf("%5d",a);
}
printf("\n");
return 0;
}
页:
[1]