{就像用户输入了1,2,32,12,55,5,61,23,我们必须从中找出最大或最小数字而不使用任何排序技术。 }
答案 0 :(得分:4)
迭代数字集,跟踪当前最高和当前最低数字,将集合中的每个数字与这些数字进行比较,并在适当时重新分配最高或最低数字。
答案 1 :(得分:2)
您可以读取每个输入并将其与某个变量“maximum”的当前值进行比较。如果输入高于当前值,则输入新的最大值。你可以做到最低限度。
如果您在一行中获得所有输入,则必须对其进行解析。
答案 2 :(得分:0)
答案 3 :(得分:0)
您要求的基本示例,这将继续以整数读取,直到用户输入' -999'。每次用户输入新的最大值时,程序都会提示用户。
READ 如果您想使用它来查找数组中的max,只需使用相同的if语句遍历数组...下面的示例不会存储用户' s值......
#include <stdio.h>
#include <string.h>
void main(){
int input = 0;
int max = 0;
while(input != -999){
printf("Enter a Value : ");
scanf(" %d",&input);
if(input<0)input = 0;
if(input > max){
max = input;
printf("NEW MAX VALUE ENTERED\n");
}
printf("Current Max Value: %d\n\n",max);
}
}
答案 4 :(得分:0)
这个link显示了一个SO答案,其中仅使用3n / 2比较而不是传统的2n比较同时找到max和min(n代表min,n代表max)。