-
开满天机
主要错误是字符串比较不能直接用==,而是用strcmp函数,字符串相等返回值是0if(t==word_tab[n])改为if(strcmp(t, word_tab[n]) == 0)if(n<4)
{ strcpy(tmp,s+i+strlen(t));
strcpy(s+i,word_tab[(n+1)%4]);
strcat(s,tmp); // 原来这里是strcpy是错的
i=i+strlen(word_tab[(n+1)%4]);
}
主函数中
putchar(line[80])这句也有问题,要改为
puts(line);
-
小唯快跑啊
没什么大错误,只是读取字串,不需要循环,只要%s读取就行,#include<stdio.h>int main(){int replace(char a[]);char a[20];int i;/*for(i=0;i<20;i++)scanf("%s",a[i]);*/scanf("%s",a);replace(a);/*for(i=0;i<20;i++)printf("%s",a[i]);*/printf("%s",a);printf("\n");return 0;}int replace(char a[]){int n=0;int i;for(i=0;i<20-1;i++)//scanf("%s",a[i]);if(a[i]=='t'){n=n+1;a[i]='e';}else if(a[i]=='T'){n=n+1;a[i]='E';}printf("替换字符的个数:%d",n);return n;}
-
杨魅力
改成这样就行了1234567891011121314151617181920212223242526272829#include<stdio.h>int replace(char a[]);int main(){ char a[20]; int n; scanf("%s", a); n = replace(a); printf("%s 替换字符的个数:%d\n", a, n); return 0;}int replace(char a[]){ int n=0; int i; for (i = 0; a[i] != '\0'; i++) { if(a[i]=='t') { n=n+1; a[i]='e'; } else if(a[i]=='T') { n=n+1; a[i]='E'; } } return n;