| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 750 人关注过本帖
标题:一个ACM的输入问题
只看楼主 加入收藏
dou123dou
Rank: 1
等 级:新手上路
帖 子:19
专家分:6
注 册:2011-10-3
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:13 
一个ACM的输入问题
要求输入多个字符串,中间空格来进行隔开,以‘.’来辨识这句话结束,并且希望能多次输入测验。请问该怎么做?
例:hello how are you.这个只是算一组测试数据。希望测试多组。
搜索更多相关主题的帖子: 测试 字符串 
2012-02-20 22:39
巴克
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:93
专家分:199
注 册:2012-2-8
收藏
得分:3 
想了一个:
while(gets(str))
{
   if(str[0]=='.'&&!str[1])
    break;
  .....
  .....
}
2012-02-21 08:31
dou123dou
Rank: 1
等 级:新手上路
帖 子:19
专家分:6
注 册:2011-10-3
收藏
得分:0 
回复 2楼 巴克
我要的是多次输入
2012-02-21 11:37
巴克
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:93
专家分:199
注 册:2012-2-8
收藏
得分:0 
回复 3楼 dou123dou
上面的就是多次输入,每一次输入输出都在while循环里面,如果你只输入  .  那么循环终止.
2012-02-21 12:01
dou123dou
Rank: 1
等 级:新手上路
帖 子:19
专家分:6
注 册:2011-10-3
收藏
得分:0 
回复 2楼 巴克
而且,我也是用这个办法,但是它有一个问题是不能换行。这个就不行了。
大牛提供一个答案:
    while (scanf("%s", str) != EOF)
    {
        strcpy(sentence, str);
        while (scanf("%s", str), str[strlen(str) - 1] != '.')
        {
            strcat(sentence, str);
        }
……………………
}
这个可以。
2012-02-21 12:12
dou123dou
Rank: 1
等 级:新手上路
帖 子:19
专家分:6
注 册:2011-10-3
收藏
得分:0 
回复 4楼 巴克
你还不明白,我说的多组数据,相当于多句话。每句话都以‘.’为结尾。
2012-02-21 12:14
巴克
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:93
专家分:199
注 册:2012-2-8
收藏
得分:0 
可不可以吧代码贴上来,我做类似的题目都是这样的,可以换行啊.
while (scanf("%s", str) != EOF)这一句....
2012-02-21 12:14
dou123dou
Rank: 1
等 级:新手上路
帖 子:19
专家分:6
注 册:2011-10-3
收藏
得分:0 
回复 7楼 巴克
什么代码?如果是输入,我用于测试是用while(gets(str)!=NULL)
这个是可以过掉测试但是不能换行。而用那个大牛给的则是可以进行换行。
我想做到像一般输入那样,所以才要提问?
2012-02-21 12:41
天天涯涯
Rank: 4
等 级:业余侠客
帖 子:215
专家分:267
注 册:2011-10-17
收藏
得分:0 
学习一下。
2012-02-21 15:27
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:4 
scanf("%[^.]",s)表示读入到.时终止读入

scanf("%[^指定字符集]")表示读入到指定字符集中的字符终止读入
2012-02-21 15:44
快速回复:一个ACM的输入问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011657 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved