题目描述
设计一个从5个整数中取最小数和最大数的程序
输入
可以输入多组测试数据,每组数据为5个不大于10000000000的正整数
输出
输出多组数据,每组数第1个为5个数中的最小值,第2个为5个数中的最大值,两个数字以空格隔开。
样例输入
2
1 2 3 4 5
11 33 55 99 88
样例输出
1 5
11 99正解
#include <stdio.h>
int
main()
{
int
n,i,j,k,x,c[5],t;
scanf
(
"%d"
,&n);
for
(i=0;i<n;i++)
{
for
(j=0;j<5;j++)
{
scanf
(
"%d"
,&x);
c[j]=x;
}
for
(k=0;k<4;k++)
{
if
(c[k]>c[k+1])
{
t=c[k];
c[k]=c[k+1];
c[k+1]=t;
}
}
printf
(
"%d %d\n"
,c[0],c[4]);
}
return
0;
}
//这道题坑啊,提交十几次依然超限。问别的同学才知道不是多组测试。语文太重要了,做题要认真理解,多读几遍。看得快,做的不好,就越失望,开始怀疑自己。
错解
#include<stdio.h>
int
main()
{
int
i,j,n;
long
int
c[5],t;
while
(~
scanf
(
"%d"
,&n))
{
for
(i=0;i<n;i++)
{
for
(i=0;i<5;i++)
{
scanf
(
"%ld"
,&c[i]);
}
for
(i=0;i<5;i++)
{
for
(j=0;j<4;j++)
{
if
(c[j]>c[j+1])
{
t=c[j];
c[j]=c[j+1];
c[j+1]=t;
}
}
}
printf
(
"%ld %ld\n"
,c[0],c[4]);
i=0;
}
}
return
0;
}