给出n组数据,每组数据3个数,求这3个数的最大数。
样例输入:2 1 6
2 1 3
7 15 6
样例输出:6
3
15
int a,b,c;
while(scanf("%d%d%d",&a,&b,&c) != EOF)
{
……
}
scanf()的返回值是由里面成功输入的个数决定的,例如上例中如果 a,b,c 均成功输入,则返回3,否则返回 -1(EOF),另外,如果要结束输入,按Ctrl+Z 。
这个可以满足你的需求,将输入都放在数组中,每次输入一组数.
#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次输入,那么只需要在每次输入结束后对三个数进行比较,用一个数组保存三个数中的最大值,直到需要输出时才进行打印。