不知道哪里出错了。
#include
#define N 10
int main(){
printf("请输入10个数:\n");
int i,j,t,a[N];
for(i=0;i
scanf("%d",&a[i]);
}
for(i=0;i
int min=1;
for(j=i+1;j
if(a[min]>a[j]) min=j;
if(min!=i){
t=a[min];
a[min]=a[i];
a[i]=t;
}
}
for(i=0;i
printf("%d ",a[i]);
}
return 0;
}
int min=i; 不是1
#include<stdio.h>
int main()
{
int i,j,a[10],t;
printf("请输入十个数:");
for (i = 0; i < 10; i++)
scanf("%d",&a[i]);
for (i = 0; i < 10; i++)
{
for (j = i + 1; j < 10;j++) //循环
if (a[i] < a[j]){
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
printf("从大到小排序后:");
for (i = 0; i < 10; i++)
printf("%2d", a[i]);
return 0;
}
#include <stdio.h>
#define N 10
int main()
{
printf("请输入10个数:\n");
int i, j, t, a[N];
for (i = 0; i < N; i++)
{
scanf("%d", &a[i]);
}
for (i = 0; i < N - 1; i++)
{
for(j = 0; j <N - 1 - i; j++)
{
if(a[j] < a[j+1])
{
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
for (i = 0; i < N; i++)
{
printf("%d ", a[i]);
}
return 0;
}
最小值应该被假设为数组的第一个值,而不是1。