点击打开链接
/*
时间:2014.1.31
目的:题目1200:最大的两个数 http://ac.jobdu.com/problem.php?pid=1200
*/
#include <stdio.h>
void fun(int *a,int b)//核心代码
{
int f1=0;
if(a[0] > a[1])
f1 = 1;//判断f1==1表示a[0]>a[1]
else if(a[0] < a[1])
f1 = 2;//判断f1==2表示a[0]<a[1]
switch(f1)//判断f1==0表示a[0]==a[1]
{
case 0:(b>a[0])&&(a[1]=b);//当相等时,只需判断是否大于a[0],若大于只需改变a[1]即可
break;
case 1:(b>a[1])&&(a[1]=b);//若a[0]>a[1]时, 无论是b否大于a[0],只需把a[1]改变即可
break;
case 2:(b>a[0])&&(a[0]=a[1])&&(a[1]=b);//同case 1
break;
}
}
int main()
{
int n, i, a, b, c, d, e, t0[2], t1[2], t2[2], t3[2], t4[2];
for(scanf("%d", &n);n--;)
{
t0[0]=t0[1]=t1[0] =t1[1]=t2[0] =t2[1]=t3[0] =t3[1]=t4[0]=t4[1]=-2000000000;
for(i = 0;i < 2;i++)
scanf("%d %d %d %d %d",&t0[i],&t1[i],&t2[i],&t3[i],&t4[i]);
for(i = 0;i < 2;i++)
{
scanf("%d %d %d %d %d",&a,&b,&c,&d,&e);
fun(t0,a);
fun(t1,b);
fun(t2,c);
fun(t3,d);
fun(t4,e);
}
for(i = 0;i < 2;i++)
printf("%d %d %d %d %d \n",t0[i],t1[i],t2[i],t3[i],t4[i]);
}
return 0;
}
/*
------------------
1 思路:1.主要是在换tx[i](x=0,1,2,3,4;i=0,1)时,需要考虑保留原矩阵的行列顺序即可
1 2 4 9 8
-1 4 9 8 8
12 9 8 7 0
7 8 9 7 0
12 9 9 9 8
7 8 9 8 8
------------------
*/
#include <stdio.h>
void fun(int *a,int b)
{
if(a[0] > a[1])
(b>a[1])&&(a[1]=b);
else if(a[0] < a[1])
(b>a[0])&&(a[0]=a[1])&&(a[1]=b);
else (b>a[0])&&(a[1]=b);
}
int main()
{
int n, i, a, b, c, d, e, t0[2], t1[2], t2[2], t3[2], t4[2];
for(scanf("%d", &n);n--;)
{
t0[0]=t0[1]=t1[0] =t1[1]=t2[0] =t2[1]=t3[0] =t3[1]=t4[0]=t4[1]=-2000000000;
for(i = 0;i < 2;i++)
scanf("%d %d %d %d %d",&t0[i],&t1[i],&t2[i],&t3[i],&t4[i]);
for(i = 0;i < 2;i++)
{
scanf("%d %d %d %d %d",&a,&b,&c,&d,&e);
fun(t0,a);
fun(t1,b);
fun(t2,c);
fun(t3,d);
fun(t4,e);
}
for(i = 0;i < 2;i++)
printf("%d %d %d %d %d \n",t0[i],t1[i],t2[i],t3[i],t4[i]);
}
return 0;
}
题目1200:最大的两个数