Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在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; } }_C++ - Fatal编程技术网

在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; } }

在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; } },c++,C++,目标是获得以下输出: 1 2 3 4 5 Input a multiplier: 2 2 4

目标是获得以下输出:

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

任何帮助或代码改进都将不胜感激,因为要完成此练习,唯一需要做的就是弄清楚如何乘法和显示乘法值。提前谢谢你

使用=而不是==。目前,它只是计算逻辑语句,而不是将其设置为新值。 此外,您需要将for循环中的“int-array”更改为不同的名称,以免与名为array的数组混淆。在for循环中调用变量,比如“inti”。
因此,所讨论的行不是“array==multiplier*array”,而是类似于“int j=multiplier*array[i]”,然后让它打印出j而不是array。

更简单的方法是使用另一个基于范围的for循环,而不是索引版本:

for (auto& a : array)
{
    a *= multiplier;
    std::cout << a << std::endl;
}
for(自动&a:array)
{
a*=乘数;

std::cout您的代码有三个大问题:

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

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

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

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

你有很多事情是不正确的

首先是对
数组
值的范围过大(可能不是正确的术语)

在for循环外部声明了一个
array
值,并且在for循环内部再次使用值
array
作为计数器。因此,您实际上没有对数组做任何操作。您实际上是在尝试对初始化变量做一些操作

其次,您使用==而不是=

您使用的是比较运算符(=)而不是赋值运算符(=),但还有其他大的“否”

array
是一个
int[5]
而不仅仅是一个
int

要实际修改数组的每个元素,您需要引用索引,方法是说
array[index]
,其中index是数组长度-1的值,因此在您的情况下为4

您正在使用一个
双乘数
,并试图将其应用于
int*

如果您尝试乘以2.5之类的双精度值,则数组值将是int,而不是带有十进制值的数字。您应该将
int数组[]
变成
double数组[]

不访问数组,从索引0开始


当在数组中循环时,第一个索引始终为0。您使用的是
array=1
array哇,这真的是用两个不同的
array
变量编译的吗?无论哪种方式,读者都会感到非常困惑。也许第二个变量可能是
arrayIndex
或其他什么。@Kenwaynevanderinde不同的范围。CTrainee,小心你在这里所做的。这可能不是你想要的。
for (const auto& a : array)
{
    std::cout << a * multiplier << std::endl;
}
for (int i = 0; i < 5; i++){
    array[i] *= multiplier
    cout << array[i] << endl;
}
for (int index = 0; index < 5; index++)
{
    array[index] *= multiplier; // Or you can use array[index] = multiplier * array[index]
    std::cout << array[index] << std::endl;
}