我一直在写一些简单的算法,我面临一个问题。我正在编写一个算法来显示数字的最小和最大数字。它的工作原理,但它只返回两种情况下的最大值,我不明白为什么。非常感谢 !!!为什么我的C++算法总是返回一个数字的最小值和最大值的相同值?
#include <iostream>
using namespace std;
void Citire(int& n)
{ cout <<"\nDa numarul:";
cin >>n;
while (n<=0)
{cout<<"ai gresit, da natural:";
cin >>n;
}
}
int CifMinMax(int n)
{
int Max = 9;
int Min = 0;
int UltCif;
while (n>0)
{
UltCif = n % 10;
if (UltCif < Min)
Min = UltCif;
if (UltCif > Max)
Max = UltCif;
n = n/10;
}
return Max, Min;
}
int main()
{
int n;
int Min;
int Max;
Citire(n);
Min = CifMinMax(n);
Max = CifMinMax(n);
cout <<endl<<Min<<" este cifra minima a numarului, iar "<<Max<<" este cifra maxima a numarului." << endl;
return 0;
}
你'CifMinMax'函数返回一个'int'。你认为'返回最大值,最小值?'的结果是什么? – 2014-11-03 15:20:25
当你调用两次相同的函数时,为什么你会期望有不同的事情发生? – Daniel 2014-11-03 15:20:38
将函数原型更改为void void CifMinMax(int n,int&Min,int&Max)' – 2014-11-03 15:22:08