c语言中如何实现换行数据标准输入输出?

给出n组数据,每组数据3个数,求这3个数的最大数。
样例输入:2 1 6
2 1 3
7 15 6
样例输出:6
3
15

3个回答

这个可以满足你的需求,将输入都放在数组中,每次输入一组数.

 #include <stdio.h>
int max_fn(int x,int y)
{
return x>y?x:y;
}
int max_3(int a,int b,int c)
{
    return max_fn(max_fn(a,b),c);
}
int main()
{
    int array[3][3];
    int i=0;
    while(1)
    {
        if(i==9)
        {
            break;
        }
        int *p=(int *)array;
        scanf("%d",p+i);
        i++;    
    }
    for(i=0;i<3;i++)
    {
        printf("%d %d %d\n",array[i][0],array[i][1],array[i][2] );
    }

    for(i=0;i<3;i++)
    {
        printf("%d\n",max_3(array[i][0],array[i][1],array[i][2]));
    }

return 0;
}

n组数据是同时输入吗,如果同时输入,你需要对每三个数进行一次比较;如果一次输入一组数据,分N次输入,那么只需要在每次输入结束后对三个数进行比较,用一个数组保存三个数中的最大值,直到需要输出时才进行打印。

int a,b,c;
while(scanf("%d%d%d",&a,&b,&c) != EOF)
{
……
}

scanf()的返回值是由里面成功输入的个数决定的,例如上例中如果 a,b,c 均成功输入,则返回3,否则返回 -1(EOF),另外,如果要结束输入,按Ctrl+Z 。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐