C++ 显示最高和最低输入
您好,我正在尝试显示最高和最低的数字,输入-99以打破循环,而不显示最低的数字为-99。任何帮助都会很好C++ 显示最高和最低输入,c++,loops,C++,Loops,您好,我正在尝试显示最高和最低的数字,输入-99以打破循环,而不显示最低的数字为-99。任何帮助都会很好 int number; int largeNum = 0 ; int smallNum = 0; cout << "enter numbers" ; do { cin >> number; if ( number > largeNum) largeNum = number; if ( number < largeNum) small
int number;
int largeNum = 0 ;
int smallNum = 0;
cout << "enter numbers" ;
do
{
cin >> number;
if ( number > largeNum)
largeNum = number;
if ( number < largeNum)
smallNum = number;
if (number < smallNum)
smallNum = number;
} while (number != -99);
cout << largeNum << endl;
cout << smallNum << endl;
整数;
int-largeNum=0;
int smallNum=0;
数量;
如果(数字>最大值)
largeNum=数量;
如果(数量<千分之一)
smallNum=数字;
如果(数字
do {
cin >> number;
if ( number == -99 ) {
break;
}
if ( number > largeNum)
largeNum = number;
if ( number < largeNum)
smallNum = number;
if (number < smallNum)
smallNum = number;
} while ( true );
do{
cin>>数量;
如果(数字==-99){
打破
}
如果(数字>最大值)
largeNum=数量;
如果(数量<千分之一)
smallNum=数字;
如果(数字
更好的解决方案是使用排序:
void main()
{
int array[100],n;
//get number of elements
cout<<"Enter number of elements: ";
cin>>n;
//get elements
for(int i=0;i<n;i++)
{
int temp;
cout<<"Enter element to position "<<i<<" :";
cin>>temp;
//to break at -99
if(temp==-99)
break;
else
array[i]=temp;
}
//sort the elements in ascending order
for(int i=0;i<n;i++)
{
if(array[i]>array[i+1])
{
int temp = array[i];
array[i] = array[i+1];
array[i+1] = temp;
}
}
//display smallesst and largest
cout<<"Smallest: "<<array[0];
cout<<"Largest: "<<array[n-1];
}
void main()
{
int数组[100],n;
//获取元素的数量
coutn;
//获取元素
对于(int i=0;ii不会给出代码,因为这看起来像是家庭作业。你可以看C++的代码<破译< /Cord>语句来实现这一点。请避免为家庭作业发布准确的代码,比如问。为什么你认为这是一个家庭作业?它看起来相当琐碎,用户可能自己尝试过一些东西。如果你看的话,我只是更改了进行比较的位置。用户几乎自己做了所有事情。如果是家庭作业,我仍然会因为没有正确验证输入操作而失败……这实际上是一个更糟糕的解决方案,因为它使用了不必要的存储,运行速度较慢,而且因为输入数量有限,所以它不会sn甚至不能解决上述问题。我同意这不是一个优化的代码。这是为了更好地理解。一旦你理解了原则,你就可以一直优化。]你可以一直结合2个for循环等来优化。但我更愿意留给实现者