C程序设计语言-练习3-2
本帖最后由 xaut3 于 2010-7-24 10:17 编辑题目: 编写一个程序,以每行一个单词的形式打印其输入。
分析: 单词是一个不包含空格,制表符或换行符的字符序列。思路很简单,
如果一个字符不是空白字符就打印出来,如果一个单词已到结尾就打印一个
换行符。可以这样判断一个单词是否到结尾:前一个字符是单词的组成部分,
当前字符不是单词的组成部分。
1 #include <cstdio>
2
3
using
namespace std;
4
5
int main()
6 {
7
const
int OUT =
1; //字符不是单词的组成部分
8
const
intIN =
0; //字符是单词的组成部分
9
10
int pre = OUT, curr = OUT;
11
12
int c;
13
while( (c = getchar()) != EOF )
14 {
15
if( c ==
'
'
|| c ==
'\n'
|| c ==
'\t' )
16 {
17 pre= curr;
18 curr =OUT;
19
//是否遇到单词结尾
20
if( pre == IN && curr == OUT )
21 {
22 printf("\n");
23 }
24 }
25
else
26 {
27 pre= curr;
28 curr = IN;
29 putchar(c);
30 }
31 }
32
return
0;
33 }
34
当然,这个程序可以使用C++的string。 不错的练习还有 答案呵呵运行通过 乱乱的,楼主应该编辑好了再发啊 好有趣的發文~~哈哈 谢谢!看看!!!
页:
[1]
