c语言C语言编程实现:键盘输入一个全由非空格字符组成的字符串(长度小于20),找出其中最小的字符、最大的字符,并将最小的字符与原串首字符对调位置,最大的字符与原串尾字符对调位置。(例如:输入串为:OerJSAK,程序执行后,字符串为:AeKJSOr)
时间: 2024-03-12 21:44:26 浏览: 65
C语言实现输入一个字符串后打印出该字符串中字符的所有排列
好的,这是一个简单的字符串处理问题,我可以为您提供解决方案。
以下是C语言的代码实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 20
int main() {
char str[MAX_LEN + 1];
scanf("%s", str);
int len = strlen(str);
char min_char = str[0], max_char = str[0];
int min_index = 0, max_index = 0;
for (int i = 1; i < len; i++) {
if (str[i] < min_char) {
min_char = str[i];
min_index = i;
}
if (str[i] > max_char) {
max_char = str[i];
max_index = i;
}
}
char temp = str[0];
str[0] = min_char;
str[min_index] = temp;
temp = str[len - 1];
str[len - 1] = max_char;
str[max_index] = temp;
printf("%s\n", str);
return 0;
}
```
首先,我们定义了一个字符串 `str` 和它的最大长度 `MAX_LEN`。接着,我们使用 `scanf` 函数从键盘输入字符串,并使用 `strlen` 函数获取字符串的长度。
然后,我们遍历字符串,找到其中的最小字符和最大字符,并记录它们的位置。接着,我们将最小字符与字符串的首字符交换位置,将最大字符与字符串的尾字符交换位置。
最后,我们输出处理后的字符串。
注意,在本程序中,我们假定输入的字符串中只包含非空格字符。如果输入的字符串中包含空格字符,那么程序将不能正确处理。
阅读全文