#include<stdio.h>
int main()
{
int a[10], i, n;
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d", &a[i]);
printf("排序之前的数组:");
for (i = 0; i < n; i++)
printf("%d ", a[i]);
sort(a, n);
printf("\n排序之后的数组:");
for (i = 0; i < n; i++)
printf("%d ", a[i]);
}
int sort(int a[], int n)
{
int i, j, k, t;
for(i=0;i<n;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(a[j]<a[k])
k=j;
t=a[i];
a[i]=a[k];
a[k]=t;
}
}
for(j=i+1;j<n;j++)
进入不了这个for循环,无法进行排序。
不是输1不行,是你没有提示,第一个输的是数组大小,还要再输一次才是往数据插入1个数据,输入之前加点提示
int a[10], i, n;
printf("请输入数据个数:");
scanf("%d", &n);
printf("请依次输入%d个数据:",n);
for (i = 0; i < n; i++)
scanf("%d", &a[i]);
printf("排序之前的数组:");
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632