就是开始时假设一个最大最小值 然后把要判断的数值与假设的值进行比较 判断大小关系后 做选择
{int i,n
float a,max,min
scanf("%f",a)
max=min=a /*假设第一个值即为最大最小*/
for(i=0i<ni++)
{scanf("%f",a)
if(max<a) {max=acontinue/*输入一个值后与当前最大值比较 取二者中的最大 continue 节省了判断次数 */
if(min>a) min=a
}
}
楼上的也是这个思路
答非所问 莫介意。。
实现方法有很多,根本流程为:
1、判断两个数大小;
2、返回较小值。
常用的具体实现方法列举如下:
1、直接判断:
int min(int a, int b){
if(a<b) return a//a更小,返回a。
return b//b更小返回b。
}
2、三目运算符:
?:三目运算符可以直接实现判断。代码如下:
int min(int a, int b){
return a<b?a:b//一步到位。
}
另外,除了用函数外,还可以使用宏定义,如:
#define MIN(a,b) ((a)<(b)? (a):(b))
使用宏定义好处为,可以不限制a和b的类型,但在宏定义中一定要加括号,否则在比较复杂的表达式时,可能会由于运算优先级导致错误。
#include <stdio.h>int main()
{ int n,x,min
scanf("%d%d",&n,&min)
for(n-- n-->0 )
{scanf("%d",&x)
if(x<min)min=x
}
printf("min=%d\n",min)
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)