gpt4 book ai didi

c++ - 编写一个函数以显示三个数字中的最大值。有人知道我的程序哪里出问题了吗?

转载 作者:行者123 更新时间:2023-12-02 10:19:26 26 4
gpt4 key购买 nike

(最多三个数字)
使用以下 header 编写一个函数,以显示三个数字中的最大值:

void displayLargest(double num1, double num2, double num3)

编写一个测试程序,提示用户输入三个数字并调用该函数以显示最大的三个数字。

以下是我的程序:
#include<iostream>
#include<iomanip>
using namespace std;

void displayLargest (double num1, double num2, double num3)
{
if (num1 > num2 && num1 > num3){
cout << num1;
}
else if (num2 > num1 && num2 > num3){
cout << num2;
}
if (num3 > num1 && num3 > num2){
cout << num3;
}
}

int main()
{
double num1, num2, num3;
cout << "Please enter 3 numbers:";
cin >> num1, num2, num3;

displayLargest (double num1, double num2, double num3);
system("pause");
return 0;
}

但是,系统显示以下错误:
main.cpp: In function ‘int main()’:
main.cpp:28:21: error: expected primary-expression before ‘double’
displayLargest (double num1, double num2, double num3);
^~~~~~
main.cpp:28:34: error: expected primary-expression before ‘double’
displayLargest (double num1, double num2, double num3);
^~~~~~
main.cpp:28:47: error: expected primary-expression before ‘double’
displayLargest (double num1, double num2, double num3);
^~~~~~

最佳答案

这个

displayLargest (double num1, double num2, double num3);

是语法无效的构造。

函数调用看起来像
displayLargest(num1, num2, num3);

如果您使用的是标准C函数 system,则需要包含 header <cstdlib>

函数本身也不正确。没有考虑用户可以输入三个或两个相等的数字。

该功能可以用不同的方式定义。

这是函数定义的两个示例。

要么
void displayLargest( double num1, double num2, double num3 )
{
if ( !( num1 < num2 ) && !( num1 < num3 ) )
{
std::cout << num1 << '\n';
}
else if ( !( num2 < num3 ) )
{
std::cout << num2 << '\n';
}
else
{
std::cout << num3 << '\n';
}
}

要么
void displayLargest( double num1, double num2, double num3 )
{
double largest = num1;

if ( largest < num2 )
{
largest = num2;
}

if ( largest < num3 )
{
largest = num3;
}

std::cout << largest << '\n';
}

如果允许使用标准算法,则可以使用 std::max算法实现该功能。

这是一个演示程序。
#include <iostream>
#include <algorithm>

void displayLargest( double num1, double num2, double num3 )
{
std::cout << std::max( { num1, num2, num3 } ) << '\n';
}

int main()
{
displayLargest( 1.2, 1.3, 1.1 );

return 0;
}

关于c++ - 编写一个函数以显示三个数字中的最大值。有人知道我的程序哪里出问题了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60883111/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com