C++程序设计实验报告(三十)---第二周任务三(3-2)
2012-02-28 19:45
232 查看
第二周报告3-2:句子的标准化
实验目的:将句子标准化。
实验内容:输入一行字符,要求指:行首的第一个字符不能是空格;两个单词间只能有1 个空
格且必须有1 个空格;标点符号前面是单词中的最后一个字母,后面有且只能有一个
空格。
* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2012烟台大学计算机学院学生
* All rights reserved.
* 文件名称: array.cpp
* 作 者: 刘镇
* 完成日期: 2012 年 2 月 28 日
* 版 本 号: 1.027
* 对任务及求解方法的描述部分
* 输入描述:输入一行字符
* 问题描述:......
* 程序输出:按照标准化输出输入的句子。
* 程序头部的注释结束
#include<iostream>
#include"string.h"
using namespace std;
int main()
{
char line1[100], line2[100];
cout << "Enter your words:" << endl;
gets(line1);
int i;
for(int j = 0; j <= 100; )
{
for(i = 0; i <= 100; ++i)
{
if(j == 0)
{
if(line1[i] == ' ')
{
continue;
}
else
{
line2[j] = line1[i];
++j;
continue;
}
}
else
{
if(line1[i] == ' ' && (line1[i+1] == ' ' || line1[i+1] == '?' || line1[i+1] == '!' || line1[i+1] == ',' || line1[i+1] == '.'))
{
continue;
}
else if((line1[i] == '?' || line1[i] == '!' || line1[i] == ',' || line1[i] == '.') && (line1[i+1] != ' '))
{
line2[j] = line1[i];
line2[j+1] = ' ';
j = j + 2;
}
else
{
line2[j] = line1[i];
++j;
}
}
}
}
cout << "The new line is:" << line2 << endl;
return 0;
}
运行结果:
经验积累:
1、问题的拆分,将问题分为3或4个顺序结构的小问题,即开头处的空格处理,中间句子出现的多空格,句尾处标标准化处理。
2、这个问题可以将第一个问题单独做一个循环,接下来处理后续问题。
上机感言:
还是灵感和素养的积累,大的思路与方向是需要标准化处理的,当你有对问题的处理思路,不管问题有多复杂,都可以有思路,但灵感是将问题具体化实现。
实验目的:将句子标准化。
实验内容:输入一行字符,要求指:行首的第一个字符不能是空格;两个单词间只能有1 个空
格且必须有1 个空格;标点符号前面是单词中的最后一个字母,后面有且只能有一个
空格。
* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2012烟台大学计算机学院学生
* All rights reserved.
* 文件名称: array.cpp
* 作 者: 刘镇
* 完成日期: 2012 年 2 月 28 日
* 版 本 号: 1.027
* 对任务及求解方法的描述部分
* 输入描述:输入一行字符
* 问题描述:......
* 程序输出:按照标准化输出输入的句子。
* 程序头部的注释结束
#include<iostream>
#include"string.h"
using namespace std;
int main()
{
char line1[100], line2[100];
cout << "Enter your words:" << endl;
gets(line1);
int i;
for(int j = 0; j <= 100; )
{
for(i = 0; i <= 100; ++i)
{
if(j == 0)
{
if(line1[i] == ' ')
{
continue;
}
else
{
line2[j] = line1[i];
++j;
continue;
}
}
else
{
if(line1[i] == ' ' && (line1[i+1] == ' ' || line1[i+1] == '?' || line1[i+1] == '!' || line1[i+1] == ',' || line1[i+1] == '.'))
{
continue;
}
else if((line1[i] == '?' || line1[i] == '!' || line1[i] == ',' || line1[i] == '.') && (line1[i+1] != ' '))
{
line2[j] = line1[i];
line2[j+1] = ' ';
j = j + 2;
}
else
{
line2[j] = line1[i];
++j;
}
}
}
}
cout << "The new line is:" << line2 << endl;
return 0;
}
运行结果:
经验积累:
1、问题的拆分,将问题分为3或4个顺序结构的小问题,即开头处的空格处理,中间句子出现的多空格,句尾处标标准化处理。
2、这个问题可以将第一个问题单独做一个循环,接下来处理后续问题。
上机感言:
还是灵感和素养的积累,大的思路与方向是需要标准化处理的,当你有对问题的处理思路,不管问题有多复杂,都可以有思路,但灵感是将问题具体化实现。
相关文章推荐
- C++程序设计实验报告(三十二)---第三周任务二
- 第二周实验报告(任务2)
- C++程序设计实验报告(三十九)---第五周任务一
- 第二周实验报告任务2
- C++程序设计实验报告(三十五)---第四周任务一
- 第二周实验报告(任务一)
- C++程序设计实验报告(六十三)---第十周任务2
- 第二周实验报告(任务二)
- C++程序设计实验报告(五十一)---第八周任务1-1
- C++程序设计实验报告(六十八)---第十二周任务四
- C++程序设计实验报告(八十)---第十六周任务二
- C++程序设计实验报告(四十二)---第五周任务四
- 第二周实验报告 任务一(1-1)
- C++程序设计实验报告(五十四)---第八周任务二
- C++程序设计实验报告(六十九)---第十三周任务一
- 第二周实验报告 任务一(1-2)
- C++程序设计实验报告(五十五)---第八周任务三
- C++程序设计实验报告(七十)---第十三周任务二
- 第二学期第二周实验报告任务一
- C++程序设计实验报告(八十四) --- 第十七周任务一