| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 919 人关注过本帖
标题:问下在不设置其他参数的情况下怎么获取多行输入,然后一次性输出啊?
只看楼主 加入收藏
dimoret
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-4-7
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
问下在不设置其他参数的情况下怎么获取多行输入,然后一次性输出啊?
比如输入:
1 2
3 4
5 6
要求输出:
1 2
3 4
5 6
不是输入一行输出一行,而是输入三行然后一次性输出每行的处理后的结果,是在Oline Judge网上刷题,想不通要怎么做到.
具体的例子是这个:
图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2016-4-7 15:44编辑过]

搜索更多相关主题的帖子: 网上 
2016-04-07 15:40
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:7 
可以用二维数组。
程序代码:
#include <stdio.h>
#include <ctype.h>
#define MAX 5
int main()
{
    int a=0,b=0;
    int i=0;
    int s[MAX][2];

    while(i<MAX)
    {
        scanf("%d %d",&a,&b);
        s[i][0]=a;
        s[i][1]=b;
        i++;
    }

    for(i=0;i<MAX;i++)
    {
        printf("%d %d\n",s[i][0],s[i][1]);
    }

    return 0;
}

   唯实惟新 至诚致志
2016-04-07 15:53
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:7 
至少得知道有多少行吧
2016-04-07 15:55
dimoret
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-4-7
收藏
得分:0 
回复 2楼 qq1023569223
got it!
另外问下while(~scanf("%c",&c))这个trick一般什么时候用啊?
2016-04-07 16:07
wanglianyi1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:647
专家分:2067
注 册:2015-6-18
收藏
得分:7 
回复 4楼 dimoret
首先看下scanf的返回值更好理解你的这个语句
1. scanf 函数是有返回值的,它的返回值可以分成三种情况
  1) 正整数,表示正确输入参数的个数。例如执行 scanf("%d %d", &a, &b);
      如果用户输入"3 4",可以正确输入,返回2(正确输入了两个变量);
      如果用户输入"3,4",可以正确输入a,无法输入b,返回1(正确输入了一个变量)。   
  2) 0,表示用户的输入不匹配,无法正确输入任何值。如上例,用户如果输入",3 4",返回0。
  3) EOF,这是在stdio.h里面定义的常量(通常值为-1),表示输入流已经结束。
while(~scanf("%c",&c))应该属于第二种0,输入非单个字符时候输入不匹配,返回值为0,你加了个~,那么while的值就为了1了,
那么此处作用就是用户输入不能输入字符,否则会一直要求重新输入。你可以试试看是不是这个效果。
应该是为了限制输入数据的类型时候用到。
2016-04-07 16:21
快速回复:问下在不设置其他参数的情况下怎么获取多行输入,然后一次性输出啊?
数据加载中...
 
   



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

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