C语言 从键盘上输入10个整数保存在数组中,用冒泡法排序将其按降序

如题所述

#include <stdio.h>
int main ()
{
    int num[10],i,j,nSave;
    printf("输入10个数:");
    for(i=0;i<10;i++)
        scanf("%d",&num[i]);

    printf("原数组:");
    for(i=0;i<10;i++)
        printf("%d ",num[i]);
    printf("\n");

    for(i=0;i<10;i++)//冒泡
    {
        for(j=i;j<10;j++)
        {
            if(num[i]<num[j])
            {
                nSave=num[i];
                num[i]=num[j];
                num[j]=nSave;
            }
        }
    }
    printf("降序后的数组:");
    for(i=0;i<10;i++)
        printf("%d ",num[i]);
    printf("\n");
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-02-13

电脑没装C运行环境,所以用记事本大的,有错的见谅哦~

#include <stdio.h>

int main() {

// array size
int n = 10;

int count = 0;
int array[n];

// input data
for (int i = 0; i < n; i++) {
scanf("%d", &array[i]);
}

// sort data
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
// swap
if (array[i] > array[j]) {
int tmp = array[i];
array[i] = array[j];
array[j] = tmp;
}
}
}

// output
for (int i = 0; i < n; i++) {
printf("%d ", array[i]);
}

return 0;
}

第2个回答  2016-07-05
#include<stdio.h>
int main(){
int arr[10]={0};
int i,j,k,temp;
//输入数据
for(i=0;i<10;i++){
printf("请输入第%d个数",(i+1));
scanf("%d",&arr[i]);

}

    //此处冒泡排序
for(i=0;i<10;i++){

for(j=0;j<10-i-1;j++){

if(arr[j]>arr[j+1]){
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
    //显示
for(i=0;i<10;i++){

printf("%d\t",arr[i]);

}
printf("%d",arr[0]);
return 0;


}

第3个回答  2016-07-05
#include<stdio.h>
int mysort(int *a,int n)
{
int i,j,temp;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
}
return 0;
}

int main()
{
int a[10];
int i,j;
printf("input 10 numbers:\n");
for(i=0;i<10;i++)
{
printf("the number%d is:",i+1);
scanf("%d",a+i);
fflush(stdin);
}
mysort(a,10);
for(i=9;i>=0;i--)
printf("%3d",a[i]);
printf("\n");
return 0;
}
望采纳本回答被网友采纳
第4个回答  2018-02-13
#include <stdio.h>
#define SIZE 10

void bubble_sort(int a[], int n);

void bubble_sort(int a[], int n) {
int i, j, temp;
for (j = 0; j < n - 1; j++)
for (i = 0; i < n - 1 - j; i++) {
if (a[i] < a[i + 1]) {
temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
}
}
}

int main() {
int number[SIZE];
int i;
for (i = 0; i < SIZE; i++) {
scanf("%d", &number[i]);
}
bubble_sort(number, SIZE);
for (i = 0; i < SIZE; i++) {
printf("%d,", number[i]);
}
printf("\n");
}