输入N个无序的数,请将相同的数删成只剩下一个,并将删除后的数列从小到大排序后输出。(如输入:8 32 12 25 12 8 36 25 26 12 ,输出:8 12 25 26 32 36)输入要求二行,第一行整数N(小于1000),表示有N个整数; 第二行,N个无序的整数(小于32767)输出格式要求排序后并删除相同整数输出。用C语言实现
时间: 2024-03-07 09:46:44 浏览: 91
归并排序 输入所要排序的整数,进行排序,C语言
4星 · 用户满意度95%
好的,下面是用C语言实现的代码:
```c
#include <stdio.h>
#include <stdlib.h>
int compare(const void *a, const void *b) {
return *(int*)a - *(int*)b; // 比较函数用于qsort排序
}
int main() {
int n, i, j;
scanf("%d", &n); // 输入整数个数
int nums[n];
for (i = 0; i < n; i++) {
scanf("%d", &nums[i]); // 输入无序的整数数组
}
qsort(nums, n, sizeof(int), compare); // 对数组从小到大排序
printf("%d ", nums[0]); // 先输出第一个数字
for (i = 1; i < n; i++) {
if (nums[i] != nums[i-1]) { // 如果相邻的两个数字不同,则输出当前数字
printf("%d ", nums[i]);
}
}
return 0;
}
```
如果您输入的数字是:8 32 12 25 12 8 36 25 26 12,那么程序将会输出:8 12 25 26 32 36。
希望能够帮助到您!
阅读全文