输入三个整数,按由小到大的顺序输出,然后将程序改为:输入三个字符串,按由小到大的顺序输出(可以使用库函数strcmp函数,要求不使用string,使用指针指向字符串)。
时间: 2024-12-23 15:12:30 浏览: 7
在C语言中,如果你想让用户输入三个整数并按照从小到大的顺序输出,你可以这样做:
```c
#include <stdio.h>
int main() {
int a, b, c;
printf("请输入三个整数:\n");
scanf("%d %d %d", &a, &b, &c);
if (a > b) {
int temp = a;
a = b;
b = temp;
}
if (b > c) {
int temp = b;
b = c;
c = temp;
}
if (a > b) {
int temp = a;
a = b;
b = temp;
}
printf("按从小到大排序后的结果是:%d, %d, %d\n", a, b, c);
return 0;
}
```
现在,如果你想要用户输入三个字符串,并按字典序(也就是ASCII值)从小到大输出,不使用`string`库并且仅通过指针,你可以使用`strcmp`函数,示例如下:
```c
#include <stdio.h>
#include <string.h> // 只需包括这个头文件就能使用strcmp
#define MAX_STR_LEN 50
void compareStrings(char* str1, char* str2) {
if(strcmp(str1, str2) > 0) {
char temp[MAX_STR_LEN];
strcpy(temp, str1);
strcpy(str1, str2);
strcpy(str2, temp);
}
}
int main() {
char str1[MAX_STR_LEN], str2[MAX_STR_LEN], str3[MAX_STR_LEN];
printf("请输入三个字符串:\n");
fgets(str1, sizeof(str1), stdin); // 注意去掉换行符
fgets(str2, sizeof(str2), stdin);
fgets(str3, sizeof(str3), stdin);
compareStrings(str1, str2);
compareStrings(str1, str3);
printf("按字典序从小到大排序后的结果是:%s, %s, %s\n", str1, str2, str3);
return 0;
}
```
阅读全文