首页 > 解决方案 > 在 C++ 中乘以并显示数组的值

问题描述

我正在尝试完成一个 C++ 练习,其中显示一个数组并提示用户输入一个乘数,这将导致显示的初始数字乘以用户的输入。这是我到目前为止的代码:

#include <iostream>
using namespace std;

int main()
{

    int array[5] = { 1, 2, 3, 4, 5 };
    for (const auto& a : array)
    {
        std::cout << a << std::endl;

    }
    double multiplier;
    cout << "Input a multiplier: ";
    cin >> multiplier;
    for (int array = 1; array <= 5; ++array)
    {
        array == multiplier * array;
        std::cout << array << std::endl;
    }

}

当它运行时,它会打印正确的数组,并在每个数组值之后创建一个换行符,并提示用户输入乘数。然而,当输入乘数时,值不会改变。这是一个示例输出:

1
2
3
4
5
Input a multiplier: 2                                                                  
1                                                                                      
2                                                                                      
3                                                                                      
4                                                                                      
5  

目标是得到这个输出:

    1
    2
    3
    4
    5
    Input a multiplier: 2                                                                  
    2                                                                                      
    4                                                                                     
    6                                                                                      
    8                                                                                      
    10  

任何帮助或代码改进都将不胜感激,因为弄清楚如何乘以和显示乘积的值是完成练习所需要做的唯一事情。先感谢您!

标签: c++

解决方案


您的代码存在三个大问题:

1. 命名约定。 不要将你的数组和你的临时 for 循环变量命名为相同的东西。这将导致进一步的问题,我将对此进行说明。

2. 不正确的运算符 正如 minterm 所提到的,您使用的是比较运算符而不是相等运算符。但仅此一项并不能解决您的问题。

3. 不访问数组值 您实际上并没有将数组值与乘数相乘。您必须访问元素,这意味着您不能从 1 开始索引。

for (int i = 0; i < 5; i++){
    array[i] *= multiplier
    cout << array[i] << endl;
}

推荐阅读