longfish666 发表于 2022-11-22 09:37:41

单词替换C语言

#include<stdio.h>
#include<string.h>
#define MAX 100
int main()
{
        char a,b,d;
        int index=0;
        int i=0;
        char cc,ch=1,cv;
        while(gets(a)){
        char c;
        scanf("%s",b);
        scanf("%s",d);
        int i,j,k=0,l=0;
        for(i=0;i<strlen(a);i++)
        {
                if(a!=' ')
                {
                        c=a;
                }
                else{
                        c='\0';
                        k++;
                        l=0;
                }
        }
        c='\0';
        for(i=0;i<k+1;i++)
        {
                if(!strcmp(c,b))
                {
                        strcpy(c,d);
                }
        }
        for(i=0;i<k+1;i++)
        {
       printf("%s ",c);
        }
        printf("\n");
}
        return 0;
}



单词替换的提怎么改;;;;用C来写

jackz007 发表于 2022-11-22 09:46:43

      题目要求是什么?

longfish666 发表于 2022-11-22 09:56:39

jackz007 发表于 2022-11-22 09:46
题目要求是什么?

问题描述
\t输入一个字符串,以回车结束(字符串长度<=100)。该字符串由若千个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。
输入
1多组数据。每组数据输入包括3行,nnnlt第1行是包含多个单词的字符串s,nnnt第2行是待替换的单词a,(长度<=100)n In nit第3行是a将被替换的单词b。(长度<=100)\n \n \n\n \nits,ab最前面和最后面都没有空格。\n
输出
\t每个测试数据输出只有1行,\n\n\n\t将s中所有单词a替换成b之后的字符串。\n
输入例子1目 输出例子1
I love Tian Qin\nI\nYou You love Tian Qi

longfish666 发表于 2022-11-22 09:58:17

longfish666 发表于 2022-11-22 09:56
问题描述
\t输入一个字符串,以回车结束(字符串长度

错误是编译错误gets未声明

jackz007 发表于 2022-11-22 13:29:48

longfish666 发表于 2022-11-22 09:58
错误是编译错误gets未声明

       代码大体正确,我进行了必要的修改,已经可以编译和正确运行
#include <stdio.h>
#include <string.h>

#define MAX 100

int main(void)
{
      char a , b , c , d ;
      char cc , ch = 1 , cv                     ;
      int i , j , k = 0 , l = 0 , index = 0       ;
      gets(a)                                     ;
      scanf("%s",b)                               ;
      scanf("%s",d)                               ;
      for(i=0;i<strlen(a);i++) {
                if(a != ' ') {
                        c = a         ;
                } else {
                        c='\0'                ;
                        k ++                        ;
                        l = 0                     ;
                }
      }
      c='\0'                              ;
      for(i = 0 ; i < k + 1 ; i ++) {
                if(!strcmp(c , b)) {
                        strcpy(c , d)            ;
                }
      }
      for(i=0;i<k+1;i++) {
                printf("%s ", c)               ;
      }
      printf("\n")                              ;
      return 0                                    ;
}
页: [1]
查看完整版本: 单词替换C语言