完成数据的剩序排列,数组定义大小为5个
例如输入数据: 8 3 7 4 2
输出数据为:2 3 4 7 8
有没有知道这个怎么写的呀 目前还没有头绪😢
代码如下:
#include<stdio.h>
#include<stdlib.h>
void sort(int a[],int len)
{
for(int j=0;j<len-1;j++)
{
for(int i=j+1;i<len;i++)
{
if (a[j]>a[i])
{
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
}
int main()
{
int i;
int a[5] = {0};
for(i = 0;i<5;i++){
scanf("%d",&a[i]);
}
sort(a,5);
for(i=0;i<5;i++)//输出排序后的数组
{
printf("%d ",a[i]);
}
printf("\n");
return 0;
}
#include <stdio.h>
int main()
{
int arr[10] = {8,3,7,4,2};
for (int i = 0; i < 5 - 1; i++)
{
for (int j = 0; j < 5 - 1 - i; j++)
{
if (arr[j] > arr[j + 1])
{
int temp = 0;
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for (int i = 0; i < 5; i++)
{
printf("%d ",arr[i]);
}
return 0;
}
对问题进行了简化,希望采纳
#include <stdio.h>
int main(void) {
printf("test");
arr=[45,23,34,6,12,20]
for (int i=1;i<arr.length;i++){
for(int j=0;j<arr.length-1;j++)
{
if(arr[i]>arr[j]){
temp =arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
}