解题思路:使用函数找出最大值,我想到的是有点繁琐的“冒泡排序”。
宏定义我是采用定义两个宏,一个是最大值为a,一个最大值为b,那么剩下就是c(使用if ... if else语句)。
注意事项: 冒泡排序中的循环次序
参考代码:
#include <iostream>
using namespace std;
#include <iomanip>
#define MAXa(a) (a>b)&&(a>c)
#define MAXb(b) (b>a)&&(b>c)
void numMax(int a,int b,int c)
{
int arr[3] = { a,b,c };
for (int i = 0; i < 3; i++)
{
for (int j = i; j < 2 - i; j++)
{
if (arr[j] > arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
float max = arr[2];
cout <<fixed<<setprecision(3)<< max << endl;
}
int main()
{
float a, b, c;
cin >> a >> b >> c;
numMax(a, b, c);
if (MAXa(a))
{
cout << fixed << setprecision(3) << a << endl;
}
else if (MAXb(b))
{
cout << fixed << setprecision(3) << b << endl;
}
else
cout << fixed << setprecision(3) << c << endl;
}
0.0分
0 人评分
C语言训练-排序问题<1> (C语言代码)浏览:1411 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)for循环浏览:1178 |
C语言训练-大、小写问题 (C语言代码)浏览:649 |
WU-字符串比较 (C++代码)浏览:824 |
WU-输出正反三角形 (C++代码)浏览:1098 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:565 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:628 |
1012题解浏览:938 |
1014题解浏览:524 |
C二级辅导-等差数列 (C语言代码)浏览:806 |