- 输入五个0~100的数字,输出其中的最大值和最小值。
#include <stdio.h>
int main()
{
int count, temp, min, max;
min = 101;
max = -1;
printf("Enter a number between 0~100.\n");
for (count = 0; count < 5; count++)
{
scanf("%d", &temp);
min = (temp < min) ? temp : min;
max = (temp > max) ? temp : max;
}
printf("The max is %d,the min is %d.\n", max, min);
return 0;
}
- 输入五个数字,输出其中的最大值和最小值。
算法如下:
1 输入1个数,以其值为最大/最小值。
2 输入剩余四个数,对每个数,与保存的最大/最小值比较,如新输入的数更大/更小,则替换为最大/最小值。
3 输出结果。
#include <stdio.h>
int main()
{
int count, temp, min, max;
scanf("%d", &max);
min = max;
for (count = 1; count < 5; count++)
{
scanf("%d", &temp);
min = (temp < min) ? temp : min;
max = (temp > max) ? temp : max;
}
printf("The max is %d,the min is %d.\n", max, min);
return 0;
}
总结:第一种方法与第二种方法类似,其实也可以说第二种方法就是第一种方法。
在一种方法里有:先给min赋以101,max赋以-1。此时再输入五个0~100值,第一次
输入时,输入的值肯定小于min且大于max,即把值都赋给了min和max,这一开始也
就和第二种方法一样了。
即:
第一次输入11,11 <min,(此时的min是第一次赋值的min,为101)故min=11
11>max(此时的max是第一次赋值的max。为-1)故max=11
由此可看出第一种方法和第二种方法类似,唯一的区别是:
第一种方法,先给min赋最大的值,max赋最小的值,再输入5个数比较大小。
第二种方法是,先输入一个数,将这个数赋值给min和max,再输入剩下的4个数和它比较。