编写函数void fun(char *s),将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符和非数字字符原有的前后次序。 例如,若输入:num is 0532-66ouc78,OK

it2023-07-16  79

#include<stdio.h> void fun(char *s) { int i,j=0,n,n1=0; int a[80]; for(i=0;s[i]!='\0';i++) n=i; for(i=0;i<n;i++){ if(s[i]>='0'&&s[i]<='9'){ n1++; a[j]=s[i]; j++; } } for(i=0;i<n;i++){ if(s[i]>='0'&&s[i]<='9'){ for(j=i;j<n;j++) s[j]=s[j+1]; i--; } } for(i=n-n1,j=0;i<n;i++,j++) s[i]=a[j]; } int main() {char a[80]; gets(a); fun(a); puts(a); }
最新回复(0)