求C语言大侠指教。。 题目:用户输入7个数字(整型),输出最大值和最小值,请问如何书写程序?? 谢谢

如题所述

//此题只需要最大值和最小值,所以遍历一次数组就知道了,不需要进行排序
#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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-10
你把读入的数据放到一个数组中,定义两个变量min和max,min大于最大可能只,max小于最小可能值。数组下标为0,然后循环:
比较如果min>当前值,则min=当前值,如果max小于当前值则max=当前值,数组下标加1,重新比较,知道全部比较结束。
第2个回答  2012-07-10
#include <stdio.h>

int main(void)
{
int input[7];
int index;
int min, max;

for (index = 0; index < 7; index++)
scanf("%d", &input[index]);

printf("\n");
max = min = input[0];

for (index = 1; index < 7; index++) {
if (max < input[index])
max = input[index];
if (min > input[index])
min = input[index];
}

printf("max = %d\n", max); // 最大数
printf("min = %d\n", min); // 最小数

return 0;
}

好的,程序就是这样了。
第3个回答  2012-07-10
main()
{
int i,max,min;
int num[7];
for(i=0;i<7;i++)
{
printf("please input the num i %d\n");
scanf("%d",&num[i]);
}
max=min=num[0];
for(i=1;i<7;i++)
{
max=max>num[i]?max:num[i];
min=min<num[i]?min:num[i];
}
printf("max=%d\n min=%d\n",max,min);

}
第4个回答  2012-07-10
#include<stdio.h>
main()
{
int a[7],i,max,min;
for (i = 0; i <7; i++)
scanf("%d", a+i);
max = min = *a;
for (i = 0; i <7; i++)
{
if (max < a[i]) max = a[i];
if (min > a[i]) min = a[i];
}
printf("max = %d, min = %d", max, min);
}
相似回答