讲解对象:数字字符串移动到非数字的后面 作者:融水公子 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; }
|