3 回答

TA貢獻(xiàn)1786條經(jīng)驗 獲得超13個贊
主要錯誤是字符串比較不能直接用==,而是用strcmp函數(shù),字符串相等返回值是0
if(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]); } 主函數(shù)中 putchar(line[80])這句也有問題,要改為 puts(line);

TA貢獻(xiàn)1863條經(jīng)驗 獲得超2個贊
沒什么大錯誤,只是讀取字串,不需要循環(huán),只要%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("替換字符的個數(shù):%d",n);
return n;
}

TA貢獻(xiàn)1811條經(jīng)驗 獲得超6個贊
改成這樣就行了
1234567891011121314151617181920212223242526272829 | #include<stdio.h> int replace( char a[]); int main() { char a[20]; int n; scanf ( "%s" , a); n = replace(a); printf ( "%s 替換字符的個數(shù):%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; |
- 3 回答
- 0 關(guān)注
- 433 瀏覽
添加回答
舉報