c++';平均值=总和/5';给了我垃圾值,但写avg=sum/2给了我工作,而我不';我不知道为什么 我试图用C++创建一个简单的程序。它计算用户输入的5个数字的平均值,但当我运行它时,它一直给我一个垃圾值。我花了超过30分钟的时间来解决这个问题,但我似乎无法解决它 #include <iostream> int main() { std::cout << "hello this my program" << '\n'; int sum, avg; int numbOne{ }, numbTwo{ }, numbThree{ }, numbFour{ }, numbFive{ }; std::cout << "enter your first number: "; std::cin >> numbOne; std::cout << "enter your second number: "; std::cin >> numbTwo; std::cout << "enter your third number: "; std::cin >> numbThree; std::cout << "enter your fourth number: "; std::cin >> numbFour; std::cout << "enter your fifth number:"; std::cin >> numbFive; sum = numbOne+numbTwo+numbThree+numbFour+numbFive; avg = sum/5; std::cout << "the average is: " << avg << '\n;'; }

c++';平均值=总和/5';给了我垃圾值,但写avg=sum/2给了我工作,而我不';我不知道为什么 我试图用C++创建一个简单的程序。它计算用户输入的5个数字的平均值,但当我运行它时,它一直给我一个垃圾值。我花了超过30分钟的时间来解决这个问题,但我似乎无法解决它 #include <iostream> int main() { std::cout << "hello this my program" << '\n'; int sum, avg; int numbOne{ }, numbTwo{ }, numbThree{ }, numbFour{ }, numbFive{ }; std::cout << "enter your first number: "; std::cin >> numbOne; std::cout << "enter your second number: "; std::cin >> numbTwo; std::cout << "enter your third number: "; std::cin >> numbThree; std::cout << "enter your fourth number: "; std::cin >> numbFour; std::cout << "enter your fifth number:"; std::cin >> numbFive; sum = numbOne+numbTwo+numbThree+numbFour+numbFive; avg = sum/5; std::cout << "the average is: " << avg << '\n;'; },c++,sum,average,C++,Sum,Average,这就是为什么:'\n;' 我相信你是想用双引号引。。或者,如果使用单字符,'\n'后跟';' 所以应该是:“\n”或'\n' 正如注释中指出的,您应该启用编译器警告,如-Wall和-Wextra。它们将帮助您查看问题-Wmultichar您是否调试了numbOne等的值?(例如,将std::cout放在sum=上方以获取值)如果使用警告进行编译,您将看到一条关于它的消息(g++-Wall-Wextra):如下所示:警告:多字符字符常量[-Wmultichar]@RyanHaining;谢谢你。我

这就是为什么:
'\n;'
我相信你是想用双引号引。。或者,如果使用单字符,
'\n'
后跟
';'

所以应该是:
“\n”
'\n'


正如注释中指出的,您应该启用编译器警告,如
-Wall
-Wextra
。它们将帮助您查看问题
-Wmultichar

您是否调试了
numbOne
等的值?(例如,将
std::cout
放在
sum=
上方以获取值)如果使用警告进行编译,您将看到一条关于它的消息(
g++-Wall-Wextra
):如下所示:警告:多字符字符常量[-Wmultichar]@RyanHaining;谢谢你。我一辈子都不记得这叫什么<代码>-Wmultichar
在看到它后修复了我的大脑,哈哈。很好的眼睛发现了它!美好的还需要指出的是,还需要进行一次更正:为了正确计算平均值,
avg
必须声明为float(或double),而不是int(对于
sum
,转换为float/double就足够了)。例如,实例(11+12+13+14+15)/5应该产生12,8,但OP的代码将输出13。@RonaldSouza,
11,12,13,14和15的平均值是
13