|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
求问:我这个变成结果按例子输出,少个f,这个是哪里错了?
- /*编写程序:将字符数组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);
- }
复制代码
这两句(第10、16行)
- for(i=0,j=0;i<strlen(s)-1;i++){
- . . . . . .
- for(i=0;i<strlen(s)-1;i++){
复制代码
得修改为:
- for(i = j = 0 ; i < strlen(s) ; i ++) {
- . . . . . .
- for(i = 0 ; i < strlen(s) ; i ++) {
复制代码
|
|