69,382
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#define SIZE 100
int main(){
int a[SIZE],i,j,n,tmp,k;
printf("plesae enter the count of the array:");
scanf("%d",&n);
printf("Please enter %d elements \n",n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
printf("enter completed\n");
for(i=0;i<n-1;i++){
k=i;
for(j=i+1;i<=n-1;j++){
if(a[j]<a[k])
{
k=j;
}
}
if(k!=i){
tmp=a[i];
a[i]=a[k];
a[k]=tmp;
}
}
for(i=0;i<n;i++){
printf("%6d",a[i]);
}
return 0;
}
#include<stdio.h>
#define SIZE 100
int main(){
int a[SIZE],i,j,n,tmp,k;
printf("plesae enter the count of the array:");
scanf("%d",&n);
printf("Please enter %d elements \n",n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
printf("enter completed\n");
for(i=0;i<n-1;i++){
k=i;
//for(j=i+1;i<=n-1;j++){
//问题就在这了,你把j的循环结束条件写成“i<=n-1”了
for(j=i+1;j<=n-1;j++){
if(a[j]<a[k])
{
k=j;
}
}
if(k!=i){
tmp=a[i];
a[i]=a[k];
a[k]=tmp;
}
}
for(i=0;i<n;i++){
printf("%6d",a[i]);
}
return 0;
}