//此题只需要最大值和最小值,所以遍历一次数组就知道了,不需要进行排序
#include <stdio.h>
int main()
{
int i,max,min;
int a[7];
printf("请输入7个整数,并以空格隔开:\n");
for(i=0;i<7;i++)
{
scanf("%d",&a[i]);//输入7个整数
}
max = a[0];
min = a[0];//将最大值和最小值都初始化为数组的第一个元素
for(i=1;i<7;i++) //遍历数组
{
if(max<a[i]) //如果当前最大值小于当前数组元素
{
max = a[i]; //将该数组元素设为新的最大值
}
if(min>a[i]) //如果当前最小值大于当前数组元素
{
min = a[i]; //将该数组元素设为新的最小值
}
}
printf("数组中的最大值为:%d,最小值为:%d\n",max,min);
return 0;
}
测试结果:
请输入7个整数,并以空格隔开:
3 4 -4 6 5 1 7
数组中的最大值为:7,最小值为:-4
Press any key to continue
追问恩恩。。 谢谢了哈。。 就是不知道可不可以不用数组的方法来写呢??
因为我是初学者,还没学到数组呢。。 呵呵
追答如果不用数组的话,那就用下边这个程序:
#include
int main()
{
int i,max,min;
int a;
printf("请输入7个整数,并以空格隔开:\n");
scanf("%d",&a);//输入第一个整数
max = a;
min = a;//将最大值和最小值都初始化为第一次输入的元素
for(i=0;ia) //如果当前最小值大于当前输入的元素
{
min = a; //将当前输入的元素设为新的最小值
}
}
printf("数组中的最大值为:%d,最小值为:%d\n",max,min);
return 0;
}
测试结果:
请输入7个整数,并以空格隔开:
3 4 6 5 1 0 7
数组中的最大值为:7,最小值为:0
Press any key to continue