求C语言代码,输入一个数组,去重后从小到大输出
时间: 2023-06-08 18:04:40 浏览: 103
输入三个数字,按从大到小输出 C语言代码
好的,这个问题可以回答。以下是示例代码:
```
#include <stdio.h>
void remove_duplicates(int arr[], int n) {
int i, j, k;
for (i = 0; i < n; ++i) {
for (j = i + 1; j < n; ) {
if (arr[j] == arr[i]) {
for (k = j; k < n - 1; ++k) {
arr[k] = arr[k + 1];
}
--n;
} else {
++j;
}
}
}
}
void sort_array(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n; ++i) {
for (j = i + 1; j < n; ++j) {
if (arr[i] > arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
int main() {
int n, arr[100], i;
printf("Enter the size of array: ");
scanf("%d", &n);
printf("Enter the elements of array: ");
for (i = 0; i < n; ++i) {
scanf("%d", &arr[i]);
}
remove_duplicates(arr, n);
sort_array(arr, n);
printf("The array after removing duplicates and sorting: ");
for (i = 0; i < n; ++i) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
该程序会先从用户输入中获取数组的大小和元素,然后去掉重复的元素并排序,最后输出结果。
注意,本程序只是示例,可能存在一些问题。如果您需要更严密的代码,请参阅其他优秀的开源项目。
阅读全文