讲解对象:数字字符串移动到非数字的后面
作者:融水公子 rsgz
实现效果:1q2df33-->qdf1233
#include<stdio.h>
#include<stdlib.h>
void fun(char *s) {
int i, j = 0, k = 0;
char t1[80], t2[80];
for (i = 0; s[i] != '\0'; i++) {
if (s[i] >= '0'&&s[i] <= '9') {
t2[j] = s[i];//数字部分赋值给t2数组
j++;
}
else {
t1[k++] = s[i];//非数字部分赋值给t1数组
}
}
t2[j] = 0;
t1[k] = 0;//认为的添加结束符号
for (i = 0; i < k; i++) {
s[i] = t1[i];//非数字放到s数组的前面
}
for (i = 0; i<j; i++) {
s[k + i] = t2[i];//数字部分放到s数组的后面
}
}
int main() {
char s[80] = "a34n7";
printf("原来的字符串是:%s\n",s);
fun(s);
printf("移动后的字符串是:%s\n",s);
system("pause");
return 0;
}
联系客服