本帖最后由 风过无痕1989 于 2020-12-14 14:49 编辑
既然不被选为最佳,那我的代码留在这里也就没有意义了。下面的代码,是原文复制你自己的代码过来了,代码中的错误是你自己的/*编写程序:将字符数组s中所有字母字符前移,其他字符后移。例如,数组s为:asd123fgh543df,处理后新字符串为asdfghdf123543.*/
#include<stdio.h>
#define M 50
#include<string.h>
void main()
{
char s[M],str[M];
int i,j;
scanf("%s",s);
for(i=0,j=0;i<strlen(s)-1;i++){
if((s[i]>='A'&&s[i]<='Z')||(s[i]>='a'&&s[i]<='z')){
str[j]=s[i];
j++;
}
}
for(i=0;i<strlen(s)-1;i++){
if(s[i]<'A'||(s[i]>'Z'&&s[i]<'a')||s[i]>'z'){
str[j]=s[i];
j++;
}
}
str[j]='\0';
printf("%s",str);
}
|