a327904410 发表于 2021-10-29 00:14:14

删除字符问题

删除字符,若有相同则删除第一个出现字符。

输入
This is a book.
D s
输出
Thi is a book.

大佬们看下为啥删除不了,错在哪了。。。

#include<stdio.h>
#define m 50

char str;
int main() {
        int n = 0;
        while (1) {    // 输入字符串
                scanf("%c", &str);
                if (str == '.')
                        break;
                else
                        n++;
        }
        char func, str1, str2;
        scanf("%c%c", &func, &str1);
        if (func == 'D') {   // 删除字符操作
                int num = 0;
                while (str != str1)
                        num++;
                for (num; str != '\0'; num++) {
                        str = str;
                }
                str = '\0';
        }
        printf("%s", str);
        return 0;
}

hrpzcf 发表于 2021-10-29 03:24:24

#include <stdio.h>
#include <string.h>
#define m 50

char str;
int main(void)
{
      int n = 0;
      while (1)
      { // 输入字符串
                scanf("%c", &str);
                if (str == '.')
                        break;
                else
                        n++;
      }
      char func, str1, str2;
      //清空输入缓冲区,否则下次输入D s,func得到\n,str1得到D
      while (getchar() != '\n')
                ;
      //两个%c中间加空格,否则输入D空格s,str1得到空格
      scanf("%c %c", &func, &str1);
      if (func == 'D')
      { // 删除字符操作
                int num = 0;
                while (str != str1)
                        num++;
                for (num; str != '\0'; num++)
                {
                        str = str;
                }
                str = '\0';
      }
      printf("%s", str);
      return 0;
}

傻眼貓咪 发表于 2021-10-29 08:48:24

#include <stdio.h>

int main()
{
    char str;
    for(int i = 0; i < 50; i++){
      scanf("%c", &str);
      if(str == '.') break;
    }
    char a, b;
    getchar(); // 清空缓冲区
    scanf("%c %c", &a, &b); // 这里的 %c 之间必须加空格,因为 %c 不会自动忽略空白键(空白键也是字符,也就是说读取到空白字符 ' ' 了)
    for(int i = 0; str; i++){
      if(str == a) a = '\0';
      else if(str == b) b = '\0';
      else printf("%c", str);
    }
    return 0;
}

a327904410 发表于 2021-10-29 17:37:20

hrpzcf 发表于 2021-10-29 03:24


谢谢

a327904410 发表于 2021-10-29 17:37:59

傻眼貓咪 发表于 2021-10-29 08:48


辛苦了
页: [1]
查看完整版本: 删除字符问题