给出一个英文单词,要求前面有几个空格,后面有几个空格,这种要运用什么来进行控制
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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 高价求中通快递查询接口
- ¥15 解决一个加好友限制问题 或者有好的方案
- ¥15 关于#java#的问题,请各位专家解答!
- ¥15 急matlab编程仿真二阶震荡系统
- ¥20 TEC-9的数据通路实验
- ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
- ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
- ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
- ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
- ¥15 如何实现H5在QQ平台上的二次分享卡片效果?