李燕妮 发表于 2010-7-23 19:47:03

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。

xaut3 发表于 2010-7-23 19:50:44

不错的练习还有 答案呵呵运行通过

童言无忌 发表于 2010-7-23 22:16:04

乱乱的,楼主应该编辑好了再发啊

sdad 发表于 2010-7-23 22:53:04

好有趣的發文~~哈哈

alexpostrock 发表于 2010-8-10 19:00:21

谢谢!看看!!!
页: [1]
查看完整版本: C程序设计语言-练习3-2

招聘斑竹