c语言不使用函数:将字符串中所有数字字符移动到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序不变。
时间: 2023-06-12 09:05:02 浏览: 109
以下是一个不使用函数的C语言程序,实现了将字符串中所有数字字符移动到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序不变。
```c
#include <stdio.h>
int main() {
char str[100], num[100], nonnum[100];
int i, j, k;
printf("请输入一个字符串:");
scanf("%s", str);
j = k = 0;
for (i = 0; str[i] != '\0'; i++) {
if (str[i] >= '0' && str[i] <= '9') {
num[j++] = str[i];
} else {
nonnum[k++] = str[i];
}
}
num[j] = nonnum[k] = '\0';
for (i = 0; num[i] != '\0'; i++) {
str[i] = num[i];
}
for (j = 0; nonnum[j] != '\0'; j++, i++) {
str[i] = nonnum[j];
}
str[i] = '\0';
printf("移动后的字符串为:%s\n", str);
return 0;
}
```
程序的思路是先将数字字符和非数字字符分别放入两个数组中,然后将数字字符数组中的字符复制到原始字符串中,再将非数字字符数组中的字符复制到原始字符串中。最后输出移动后的字符串。
阅读全文