1 条题解
-
0
#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
- 上传者