C++三个数比大小

int three_Max(int a, int b, int c)
{
int Max;
Max = a;
if( Max < b)
{
Max = b;
}
if( Max < c)
{
Max = c;
}
return Max;}这个程序。。我看不懂,temp与b比较,那如果temp是小于b,但b小于c呢,如果最后一个temp小于c,但又小于b呢。。。。我有点乱。。请高手帮忙。。如果在第二个if中加上else,为什么结果会出错的。。。

首先用scanf获取输入的三个double型变量,存入arr数组。然后利用冒泡排序法将数组进行排序。冒泡排序法:遍历数组第0到N-1个元素,依次比较相邻的两个元素,使较大的那个向前移。

示例代码如下:

#include <iostream>using namespace std;int main(){ int a, b, c; cin >> a >> b >> c;//输入三个数 if (a < b)a=b;//如果b比a大,更新a if (a < c)a=c;//如果c比a大,更新a cout << a << endl;//输出最大数a return 0;}

扩展资料:

用C++库函数strcmp(char* a,char* b)就可以比较出两字符串是否相等,对于字符型数组也是一样的,只要分别带入数组地址就可以了。函数返回0 ,表示相等;大于0表示字符串a大于字符串b;反之小于则串a小于b。

而这里的库函数做的比较是一次比较字符串中相同位置的单个字符的ASCII得出的结果。你也可以自己用C++代码实现这个比较,下面我随便写了一个函数来单个单个的比较,只判断是否相等,返回1(true)为相等,返回0(false)为不相等。

具体代码如下:

char a[]={a,b,c};

char b[]={a,b,c};

bool function(char a[],char b[])

{int n = 0;

if(strlen(a) != strlen(b)) //判断两数组/字符串的长度是否相等,不相等就肯定不会有数组/字符串相等了

return 0;

else

{while(a[n]!='\0' && b[n]!='\0')

{if(a[n] == b[n])

n++;

else

return 0; }}

return 1;}

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-28
显然函数是实现三个数中寻找最大的数,先假设a是最大的数,用最大的数与b比较若小于b则b是把b的值赋值给Max,否则什么不做;再拿Max与c比较,若c大则把c的值赋值Max,否则什么不做。这样就保证Max始终是最大的值。如果第二个if中加上else,那就和上面if连着的,就是执行if就不会执行else,不执行if的话才会判断else if。假如a<b<c;加if的话最后返回的Max肯定就是b而不会是c本回答被网友采纳
第2个回答  2013-03-27
呵呵,这个是正确的了, 首先a当做最大数,然后用a跟b和c比较不就OK了,如果b大于a, 最大数Max就等于b啦,然后b和c比较,很简单的啦
第3个回答  2013-03-26
int threemax(int a,int b,int c)
{
int max;
if(a<b)//比较a和b的值,将大的数存入max
{
max=b;
}
else max=a;
if(max<c)//比较刚刚存入的max和c的值
{
max=c;
}
return max;
}
第4个回答  2013-03-26
max变量存储最大值,先假定a是最大值,再分别与b和c比较。最终是把最大值存在了max变量里面。这样应该就可以理解了吧。
相似回答