gpt4 book ai didi

c++ - 寻找3个数字中最小的一个。 (作业)

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

我在编程方面还很陌生,我不太确定如何完成分配给我的学校作业。

Write a function void print_min(unsigned char a, short b,int c),which prints "Min of (a,b,c)=M". M is the smallest of these 3 numbers. For computing and printing use functions int min(unsigned char a, short b,int c) and printf.



我尝试过,但似乎无法使它正常工作,因为每次都会出错。

这是我尝试使用的代码:
#include <iostream>
#include <fstream>
#include <stdio.h>


void print_min(unsigned char a, short b, int c)
{
int m = 0;
if( a < b ) m = a; else m = b;
if( c < m ) m = c;
}
int main()
{
unsigned char a; short b;int c;int M;
cin >> a;
cin >> b;
cin >> c;
M = print_min("a", b,c);
return 0;
}

是否可以给我一些有关我需要做什么的指示。
提前致谢!

最佳答案

您的程序存在多个问题

问题1: print_min返回void,而您可能希望它返回一个int。

int print_min(unsigned char a, short b, int c)
{
int m = 0;
if( a < b )
m = a;
else
m = b;
if( c < m )
m = c;
return m;
}

第2期
M = print_min("a", b,c);

函数需要一个无符号字符,您正在发送字符串文字 "a"
M = print_min(a, b,c);

第3期

您需要在 std::之前明确指定 cin命名空间
int main()
{
unsigned char a; short b;int c;int M;
std::cin >> a;
std::cin >> b;
std::cin >> c;
M = print_min(a, b,c);
return 0;
}

问题4:
std::cin >> a; 

读取一个字符,您正在发送的是ascii值,而不是预期的数字值。最好对所有对象都保持相同的int类型。
#include <iostream>

int print_min(int a, int b, int c)
{
int m = 0;
if( a < b )
m = a;
else
m = b;
if( c < m ) m = c;
return m;
}

int main()
{
int a; int b; int c; int M;
std::cin >> a;
std::cin >> b;
std::cin >> c;
M = print_min(a, b, c);
std::cout << "Smallest of 3 is = " << M << std::endl;
return 0;
}

关于c++ - 寻找3个数字中最小的一个。 (作业),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62359221/

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