使用c语言完成从键盘上输入一个字符串,该字符串由小写字母和数字字符混合构成。将其中的小写字母置于字符串的后半部分,数字置于字符串的前半部分。例如字符串原为“sdf235h”,处理后的字符串为“235sdfgh”
时间: 2024-09-16 12:05:52 浏览: 72
在C语言中,你可以使用两个指针分别指向字符串的开始和结束,然后遍历字符串,判断每个字符是否为数字或字母,并进行相应的移动。以下是实现这个功能的一种方法:
```c
#include <stdio.h>
#include <ctype.h> // 包含ctype.h库用于检查字符类型
void rearrange_string(char* str) {
int num_start = 0; // 记录数字字符的起始位置
for (int i = 0; str[i]; ++i) { // 遍历整个字符串
if (isdigit(str[i])) { // 如果是数字
char temp = str[num_start]; // 移动数字到新位置
str[num_start++] = str[i];
str[i] = temp;
} else if (islower(str[i])) { // 如果是小写字母
// 因为已经处理了数字,所以直接跳过小写字母
}
}
}
int main() {
char input[100];
printf("请输入一个混合字母和数字的字符串: ");
fgets(input, sizeof(input), stdin); // 从键盘读取字符串
input[strcspn(input, "\n")] = '\0'; // 去除换行符
rearrange_string(input);
printf("处理后的字符串: %s\n", input);
return 0;
}
```
当你运行这段程序时,它会提示你输入字符串,然后输出经过处理的新字符串。
阅读全文
相关推荐


















