C语言实现输入一个字符串,编程实现将其中字母字符放在前面,数字字符放在后面生成一个新串,并输出。
时间: 2023-12-24 22:05:53 浏览: 117
可以使用两个指针,分别指向新字符串的头和尾,遍历原字符串,若是字母字符就放在头指针处,若是数字字符就放在尾指针处,最后将新字符串输出即可。
以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h> // 包含字符处理函数的头文件
#define MAX_LEN 100 // 假设字符串最大长度为100
int main() {
char str[MAX_LEN + 1]; // 字符串数组
char new_str[MAX_LEN + 1]; // 新字符串数组
int len; // 字符串长度
int i; // 循环计数器
int head, tail; // 新字符串的头尾指针
// 输入字符串
printf("请输入一个字符串:");
fgets(str, MAX_LEN + 1, stdin);
len = strlen(str);
// 处理字符串
head = 0;
tail = len - 1;
for (i = 0; i < len; i++) {
if (isalpha(str[i])) { // 如果是字母字符
new_str[head++] = str[i];
} else if (isdigit(str[i])) { // 如果是数字字符
new_str[tail--] = str[i];
}
}
// 输出新字符串
new_str[len] = '\0'; // 添加字符串结束符
printf("新字符串为:%s\n", new_str);
return 0;
}
```
注意,这里使用了 `fgets()` 函数来输入字符串,因为 `gets()` 函数存在安全问题,不建议使用。同时,为了避免新字符串数组没有被完全覆盖,需要在数组末尾添加字符串结束符 `\0`。
阅读全文