m0_74153183 2022-10-09 20:21 采纳率: 95.5%
浏览 62
已结题

在用while循环输入不确定个数字符串时(要求把字符串里的空格删去),用数组输入时,输出时只输出了第一个元素。

问题遇到的现象和发生背景

在用while循环输入不确定个数字符串时(要求把字符串里的空格删去),用数组输入时,输出时只输出了第一个元素。
题目:1) 遇到连续空格只输出一个空格字符(即词与词之间如果有多个空格,只用一个空格分隔);
2) 每个词放在一行;

用代码块功能插入代码,请勿粘贴截图
#include<stdio.h>
int main() 
{
    char a[30];
    int count1 = 0,i;
    for (i = 0; ; i++)
    {
        a[i] = getchar();
        count1++;
        if (getchar() == '\n')break;
    }
    char* p = a;
    for (int i = 0; i < count1 - 1; i++)
    {
        if(a[i]!=' ')
        printf("%c", a[i]);
        if (a[i] = ' ')
        {
            if (a[i + 1] = ' ')
            {
                for (int j = i + 1; i < count1 - 1; i++)
                    a[j] = a[j + 1];
            }
            printf("\n");
        }
    }
    return 0;
}

运行结果及报错内容

输入:dcndvn s
输出:d

我的解答思路和尝试过的方法

采用scanf,getchar,EOF,\n均无用

我想要达到的结果

去掉输入字符串中的空格并输出

  • 写回答

5条回答 默认 最新

  • X-道至简 2022-10-09 21:57
    关注

    你代码里面错误有点多,我改写了下作为参考,有问题再交流

    #include<stdio.h>
    int main()
    {
        char a[30];
        int count1 = 0,i,flag = 0; //flag表示空格的情况
        for (i = 0; ; i++)
        {
            a[i] = getchar();
            count1++;
            if (a[i] == '\n')break;
        }
    
        for (i = 0; i < count1; i++)
        {
            if (a[i] != ' ') {
                flag = 0;
            }
            if (a[i] == ' ')
            {
                if (flag == 0)
                    printf("%c", a[i]);
                flag = 1;
            }
            if (flag == 0) {
                printf("%c", a[i]);
            }
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月12日
  • 已采纳回答 10月11日
  • 创建了问题 10月9日

悬赏问题

  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥15 pyqt信号槽连接写法
  • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注