c++第二周任务三#(3-2)整理规范的文本
2012-02-29 17:32
148 查看
/*(3‐2)所谓规范的文本是指:行首的第一个字符不能是空格;两个单词间只能有1 个空
格且必须有1 个空格;标点符号前面是单词中的最后一个字母,后面有且只能有一个
空格。
题目要求:输入一行字符,将其整理为规范的文本并输出。标点符号只考虑 , . ; ? !共5 种。
如输入“: How old are your? I am 20.It is too old. ”输出:“: How old are your?
I am 20. It is too old.”
处理后结果解读:即要求输出的文本开头无前导空格,两个单词间如果有多个空格时只保留
1 个,标点符号后没有空格时,要加上1 个。
提示:可以设置另一个字符数组,逐个检查输入的字符数组,保留的字符复制过去,多余的
空格不复制,增加需要补充的空格。当然也可以直接在原字符数组上做。
* 算法说明:
*/
#include <iostream>
#include "string.h"
using namespace std;
int main()
#include <iostream>
#include"string.h"
using namespace std;
int main()
{
char str1[50],str2[50];
gets(str1);
int i,j=0,num=0;
for (i=0;str1[i]!='\0';i++)
{
str2[j]=str1[i];
if(str1[i]==' ')
{
while(str1[i+1]==' ')
{
i++;
}
}
cout<<str2[j];
j++;
}
cout<<endl;
return 0;
}
格且必须有1 个空格;标点符号前面是单词中的最后一个字母,后面有且只能有一个
空格。
题目要求:输入一行字符,将其整理为规范的文本并输出。标点符号只考虑 , . ; ? !共5 种。
如输入“: How old are your? I am 20.It is too old. ”输出:“: How old are your?
I am 20. It is too old.”
处理后结果解读:即要求输出的文本开头无前导空格,两个单词间如果有多个空格时只保留
1 个,标点符号后没有空格时,要加上1 个。
提示:可以设置另一个字符数组,逐个检查输入的字符数组,保留的字符复制过去,多余的
空格不复制,增加需要补充的空格。当然也可以直接在原字符数组上做。
* 算法说明:
*/
#include <iostream>
#include "string.h"
using namespace std;
int main()
#include <iostream>
#include"string.h"
using namespace std;
int main()
{
char str1[50],str2[50];
gets(str1);
int i,j=0,num=0;
for (i=0;str1[i]!='\0';i++)
{
str2[j]=str1[i];
if(str1[i]==' ')
{
while(str1[i+1]==' ')
{
i++;
}
}
cout<<str2[j];
j++;
}
cout<<endl;
return 0;
}
相关文章推荐
- 第二周上机任务3-2--规范文章的文本 (改进版)
- 第二周上机任务3-2---规范文章的文本
- 第二周C++作业 任务一 任务二 任务三。
- *(第二周3‐2)规范的文本
- c++第二周任务一*(1‐1)编写递归函数将十进制数转换成二进制数输出。
- c++第二周任务三:/*(3‐1)输入一行字符,统计其中有多少个单词
- C++程序设计实验报告(二十七)---第二周任务一(自定义函数用递归思想,即不断调用,反向输出二进制)
- C++第二周任务一*(1‐2)编写自定义函数将十进制数转换成二进制数输出。
- C++代码注释规范(整理)
- 将一行字符串整理为规范文本
- 2015C++第二周,任务一:输入100-999之间的水仙花数,153=13+53+33。
- C++程序设计实验报告(二十八)---第二周任务二
- 《第二周实验报告3-2》---规范文本
- 任务三之规范文本(有错误,求助!)
- C++规范的整理---王海波
- [C++]项目中的代码注释规范(整理)
- 2015C++第二周,任务二:输出9*9乘法表
- 提高项目31.4-读入一个C++程序,整理其格式,使其按规范排版
- 2013 C++第二周任务-有序结构体
- 2013c++ 第二周任务-用结构体数组做计算