我必须使用前哨控制的重复找到最大和最小值。
"最大值"无法正常工作。有人可以帮助我了解我的代码中有什么问题吗?
#include<stdio.h>
int main() {
int number;
int min;
int max;
do {
printf("Enter a number (-1 to quit): ");
scanf("%d",&number);
if( number >= 0 ) {
if(number < min )
min = number;
if( number > max )
max = number;
}
else if( number < 1 )
printf("the number is not valid n");
}
while( number != -1 );
printf("Minimum=%dn",min);
printf("Maximum=%dn",max);
system("pause");
return 0;
}
未初始化的变量的值为2674276,所有数字较小
但没有数字大于这个,所以这是您的最大值
您需要使用第一个数字初始化最小和最大的初始化
我会做
之类的事情max = -1
min = -1
do {
printf("Enter a number (-1 to quit): ");
scanf("%d",&number);
if( number >= 0 ) {
if(max == -1)
{
max = number //Means it's the first time so your max and min are the first number
min = number
}
else
{
if(number < min )
min = number;
if( number > max )
max = number;
}
}
else if( number < 1 )
printf("the number is not valid n");
}
while( number != -1 );