输入3个整数,按由小到大的顺序输出,然后将程序改为:输入3个字符串,按由小到大顺序输出C语言用指针处理
时间: 2025-02-10 17:11:33 浏览: 43
在C语言中,你可以通过指针来处理整数或字符串的排序。首先,让我们看如何使用指针对三个整数进行排序:
```c
#include <stdio.h>
void sortInts(int* arr, int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (*(arr + j) > *(arr + j + 1)) {
temp = *(arr + j);
*(arr + j) = *(arr + j + 1);
*(arr + j + 1) = temp;
}
}
}
}
int main() {
int a[3], b[3] = {5, 2, 8};
sortInts(b, 3);
printf("Sorted integers: ");
for (int i = 0; i < 3; i++) {
printf("%d ", b[i]);
}
return 0;
}
```
对于三个字符串,你需要先定义比较函数来确定字符串的大小,然后用类似的方法进行排序:
```c
#include <stdio.h>
#include <string.h>
// 比较字符串长度并决定其顺序
int compareStrings(const void *a, const void *b) {
return strcmp(*(const char **)a, *(const char **)b);
}
void sortStrings(char** arr, int n) {
qsort(arr, n, sizeof(char*), compareStrings);
}
int main() {
char* strArr[] = {"banana", "apple", "cherry"};
int n = sizeof(strArr) / sizeof(strArr[0]);
sortStrings(strArr, n);
printf("Sorted strings: ");
for (int i = 0; i < n; i++) {
printf("%s ", strArr[i]);
}
return 0;
}
```
阅读全文