C语言随机数组以及排序问题

要求定义一个100个元素的整型数组,随机生成100个数,放在数组里;编写一个排序函数;在main函数中调用排序函数,实现将这100随机数从小到大排序,最后再输出结果。

你题目的解答代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

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

void main()
{
    srand((unsigned)time(NULL));
    int a[100], i;
    for (i = 0; i < 100; i++)
        a[i] = rand() % 1000;
    printf("排序前:\n");
    for (i = 0; i < 100; i++)
        printf("%d ", a[i]);
    sort(a,100);
    printf("\n排序后:\n");
    for (i = 0; i < 100; i++)
        printf("%d ", a[i]);
}

img

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
void sorts(int a[],int n)
{
    int i,j,temp;
    for(i=0;i<n-1;i++)
        for(j=0;j<n-i-1;j++)
            if(a[j] > a[j+1])
            {
                temp = a[j];
                a[j] = a[j+1];
                a[j+1] = temp;
            }
}
int main()
{
    int a[100], i;
    srand(time(NULL));
    for (i = 0; i < 100; i++)
    {
        a[i] = rand();
        printf("%d ",a[i]);
    }
    printf("\n");
    sorts(a,100);
    for (i = 0; i < 100; i++)
        printf("%d ", a[i]);
    return 0;
}