- 输入五个0~100的数字,输出其中的最大值和最小值。
#includeint 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 输出结果。
#includeint 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,11max(此时的max是第一次赋值的max。为-1)故max=11
由此可看出第一种方法和第二种方法类似,唯一的区别是:
第一种方法,先给min赋最大的值,max赋最小的值,再输入5个数比较大小。
第二种方法是,先输入一个数,将这个数赋值给min和max,再输入剩下的4个数和它比较。



