C ++新手,我正在尝试创建一个包含10个不同数字的程序,它会将所有这些数字添加到数组列表中,并在最后打印出来。
我的代码:(不起作用)
#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
int main()
{
int numbers[10];
int input;
cout << "Please enter ten numbers" << endl;
for(int i=0;i<10;i++){
cin >> input;
int numbers[i] = numbers + input;
}
cout << numbers;
}
当我运行这个并输入所有十个数字的全1时,我希望得到一个输出,如1,1,1,1,1,1,1,1,1,1
但我得到了0x7d88afc45630,这很奇怪,我不确定为什么。我认为这与我如何将数字添加到数组列表中有关,我甚至不知道该怎么做。我也希望能够返回列表中最大和最小的值,但我需要先解决这个问题。
答案 0 :(得分:2)
int numbers[i] = numbers + input;
它将数字内存所在的地址转换为整数并将其添加到输入中。
你的意思是
numbers[i] = input;
最重要的是,cout << numbers
只打印出数字的内存位置。
您可能需要以下内容:
for (int i = 0; i < 10; i++) {
cout << numbers[i] << endl;
}
答案 1 :(得分:0)
更改了您使用的输出变量,因为您不需要数组。此外,如果已经声明了该变量,则在为变量名赋值时,不需要将数据类型放在变量名之前。请参阅以下修改后的代码:
int sum = 0;
:
sum += input;
:
cout << sum;
如果您的意思是&#34;添加到数组&#34;将用户输入值放入数组,只需更改这些部分
int numbers[10];
:
numbers[i] = input;
:
for(int i=0;i<10;i++)
{
cout << numbers[i] << endl;
}
到
Open with -> Web Browser