标题:c语言中如何实现换行数据标准输入输出?
只看楼主
xikaiyuan
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-8-7
结帖率:0
已结贴  问题点数:20 回复次数:3 
c语言中如何实现换行数据标准输入输出?
给出n组数据,每组数据3个数,求这3个数的最大数。
样例输入:2 1 6
          2 1 3
          7 15 6
样例输出:6
          3
          15
搜索更多相关主题的帖子: c语言 行数 标准 输入 输出 
2017-08-07 10:11
虾米小小小
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:30
专家分:135
注 册:2017-7-22
得分:10 
#include <stdio.h>

#define N 3

int main(int argc, const char *argv[])
{
    int i = 0;
    int a[N];

    while(scanf("%d %d %d", &a[0], &a[1], &a[2])){
        for (i = 0; i < N-1; i++){
            if(a[i] > a[i+1]){
                a[i]   ^= a[i+1];
                a[i+1] ^= a[i];
                a[i]   ^= a[i+1];
            }        
        }

        printf("%d\n", a[2]);
    }

    return 0;
}
2017-08-07 21:34
虾米小小小
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:30
专家分:135
注 册:2017-7-22
得分:0 
感觉取巧了
2017-08-07 21:34
lmlm1001
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:4
帖 子:107
专家分:550
注 册:2015-3-1
得分:10 
to 3楼:
仅就此题而言,你烦琐了
而且你的 scanf返回值用的不对,如果只读取了两个整数,就会出现bug
#include <stdio.h>
int main(void)
{
    int max = 0, n = 0, a = 0, b = 0, c = 0;
    if( 1 != scanf("%d", &n) )
        return 1;
    while( '\n' != (c = getchar()) && EOF != c )
        NULL;
    while( n-- > 0 )
        if( 3 == scanf("%d %d %d", &a, &b, &c) ) {
            max = a > b ? a : b;
            max = max > c ? max : c;
            printf("%d\n", max);
        }
        else
            while( '\n' != (c = getchar()) && EOF != c )
                NULL;
    return 0;
}


[此贴子已经被作者于2017-8-10 00:45编辑过]

2017-08-09 23:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-479839-1-1.html




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

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