对15个数进行排序,按从小到大的顺序输出。这个代码哪里错了?

兄弟姐妹哪位知道,对15个数进行排序,按从小到大的顺序输出。这个代码哪里错了??

#include <stdio.h>
void main()
{int i,j,a[15],t;
printf("input 15 numbers:\n");
for(i=0;i<15;i++)
scanf("%d\n",&a);
for(j=0;j<15;j++)
for(i=0;i<15-j;i++)
for(i=0;i<15-j;i++)
if(a>a[i+1])
{t=a;a=a[i+1];a[i+1]=t;}
for(i=0;i<15;i++)
printf("%6d\n",a);
}
最新回答
|乄朶小姐

2024-11-28 07:51:41

已经调试修改完成,请仔细对照改动之处:

#include <stdio.h>

void main()

{int i,j,a[15],t;

printf("input 15 numbers:\n");

for(i=0;i<15;i++)

scanf("%d",&a[i]);

for(j=0;j<14;j++)

for(i=0;i<14-j;i++)

if(a[i]>a[i+1])

{t=a[i];a[i]=a[i+1];a[i+1]=t;}

for(i=0;i<15;i++)

printf("%5d",a[i]);

printf("\n");

}

沒心沒肺的活著

2024-11-28 07:21:01

#include <stdio.h>
int main()
{
void sort(int arr[], int n);
int arr[15];
int i,n= 15;
printf("请输入15个整数: ");
for(i=0; i<n; i++)
scanf("%d", &arr[i]);
sort(arr,n);
printf("排序后: \n");
for(i=0; i<n; i++)
printf("%d ",arr[i]);
printf("\n");
return 0;
}
/*冒泡排序,升序排列*/
void sort(int arr[], int n)
{int i, j;
int temp;
for(i=0; i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
if(arr[j] > arr[j+1])
{
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1]= temp;
}
}
}