生成了 N N个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。c++
时间: 2023-05-19 11:00:35 浏览: 112
将数组中相同的数删掉,剩余的数从小到大排序
这个问题可以使用数组和排序算法来解决。以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#define N 10
int main() {
int nums[N] = {0};
int i, j, k, temp;
// 生成随机数
srand(time(NULL));
for (i = 0; i < N; i++) {
nums[i] = rand() % 500 + 1;
}
// 去重
for (i = 0; i < N; i++) {
for (j = i + 1; j < N; j++) {
if (nums[i] == nums[j]) {
for (k = j; k < N - 1; k++) {
nums[k] = nums[k + 1];
}
N--;
j--;
}
}
}
// 排序
for (i = 0; i < N - 1; i++) {
for (j = i + 1; j < N; j++) {
if (nums[i] > nums[j]) {
temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}
}
// 输出结果
for (i = 0; i < N; i++) {
printf("%d ", nums[i]);
}
printf("\n");
return 0;
}
```
这个程序会生成10个1到500之间的随机整数,然后去重并排序,最后输出结果。如果需要生成更多或更少的随机数,可以修改N的值。
阅读全文