阿池198 2021-10-14 14:20 采纳率: 100%
浏览 36
已结题

控制输出数据占空格个数

给出一个英文单词,要求前面有几个空格,后面有几个空格,这种要运用什么来进行控制

  • 写回答

1条回答 默认 最新

  • 胸毛男 2021-10-14 14:53
    关注

    1 取得单词长度len
    2 记录没遇到字符 遇到第一个空格的位置 front_spa_pos_start
    3 记录遇到第一个字符的位置 word_pos_start
    4 记录字符结束的位置word_pos_end
    5 记录后边原有空格的个数
    6 在最后补全或删除空格

    // caimi7.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    #include <string>
    int _tmain(int argc, _TCHAR* argv[])
    {
        char word[] = "    kailadescope ";
    
        printf("%s", word);
        printf("\n");
    
        int ilen = strnlen(word, sizeof(word));
        char cTemp = ' ';
        bool bFound_spa = false;
        bool bFound_wrodstart = false;
    
        int iWordCount = 0;
        int word_pos_start = 0;
        int word_pos_end = 0;
        int front_spa_pos_start = 0;
    
        for (int i = 0; i < ilen; i++)
        {
            cTemp = *(word + i);
            if ((cTemp - ' ') == 0)
            {
                if (bFound_spa == false)
                {
                    bFound_spa = true;
                    front_spa_pos_start = i;
                }
                else if (bFound_spa==true)
                {
                    word_pos_end = i;
                }
            }
            else if ((cTemp>='a' && cTemp<='z') || (cTemp>='A' && cTemp<='Z'))
            {
                if (bFound_wrodstart == false)
                {
                    bFound_wrodstart = true;
                    word_pos_start = i;
                }
                iWordCount++;
            }
        }
        // 前面有空格数
        int iFrontSpaNum = word_pos_start - front_spa_pos_start;
    
        char newWord[WCHAR_MAX] = { '\0'};
    
        memcpy(newWord, word, word_pos_end+1);
    
        for (int i = 0; i < iFrontSpaNum; i++)
        {
            memcpy(newWord + word_pos_end + i, " ", 1);
        }
        printf("前面有%d个空格", iFrontSpaNum);
        printf("\n");
        printf("%s", newWord);
    
        _tsystem(L"pause");
        return 0;
    }
    
    
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月22日
  • 已采纳回答 10月14日
  • 创建了问题 10月14日

悬赏问题

  • ¥15 高价求中通快递查询接口
  • ¥15 解决一个加好友限制问题 或者有好的方案
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?