1 条题解

  • 0
    @ 2025-7-8 10:11:25

    #define _CRT_SECURE_NO_WARNINGS

    #include <stdio.h>

    #include <stdlib.h>

    void sort();

    void delect();

    int count;

    int main()

    {

    int function;

    int n = 0;

    printf("功能1:手动输入\n功能2:随机输入\n请选择功能:");

    scanf("%d", &function);

    switch (function)

    {

    case 1:

    {

    printf("请输入:");

    printf("请输入学生数量N:");

    scanf("%d", &n);

    count = n;

    int* arr = (int*)malloc((n - 1) * sizeof(int));

    printf("请输入学号");

    for (int i = 0; i < n; i++)

    {

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

    }

    sort(n, arr);

    delect(n, arr);

    printf("学生数量为:%d\n", count);

    for (int i = 0; i < count; i++)

    {

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

    }

    break;

    }

    case 2:

    {

    printf("请输入要随机生成的学生的学号的数量N:"); scanf("%d", &n);

    count = n;

    int* arr = (int*)malloc((n - 1) * sizeof(int));

    for (int i = 0; i < n; i++)

    {

    arr[i] = rand() % 1001;

    }

    sort(n, arr);

    delect(n, arr);

    printf("学生数量为:%d\n", count);

    for (int i = 0; i < count; i++)

    {

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

    }

    break;

    }

    }

    return 0;

    }

    void sort(int n ,int arr[])

    {

    int temp;

    for (int i = 0; i < n - 1; i++)

    {

    for (int j = 0; j < n - 1 - i; j++)

    {

    if (arr[j] > arr[j + 1])

    {

    int temp;

    temp = arr[j];

    arr[j] = arr[j + 1];

    arr[j + 1] = temp;

    }

    }

    }

    }

    void delect(int n, int arr[])

    {

    for (int i = 0; i < n - 1; i++)

    {

    for (int j = i + 1; j < n; j++)

    {

    if (arr[i] == arr[j])

    {

    for (int k = j; k < n - 1; k++)

    arr[k] = arr[k + 1];

    n--;

    j--;

    count--;

    }

    }

    }

    }

    信息

    ID
    403
    时间
    1000ms
    内存
    128MiB
    难度
    7
    标签
    (无)
    递交数
    22
    已通过
    8
    上传者