将n个数字存入数组的C++
时间: 2023-10-02 15:06:08 浏览: 51
好的,下面是将n个数字存入数组的C++代码:
```cpp
#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入数字的个数:" << endl;
cin >> n; // 读入数字的个数
int arr[n]; // 定义长度为n的数组
cout << "请输入" << n << "个整数:" << endl;
for (int i = 0; i < n; i++) {
cin >> arr[i]; // 逐个读入数字并存入数组中
}
cout << "您输入的数组为:" << endl;
for (int i = 0; i < n; i++) {
cout << arr[i] << " "; // 输出数组中的元素
}
cout << endl;
return 0;
}
```
在上面的代码中,我们先读入数字的个数 `n`,然后根据 `n` 定义长度为 `n` 的数组 `arr`。接着使用 `for` 循环逐个读入数字并存入数组中,最后再使用 `for` 循环输出数组中的元素,以验证输入的正确性。需要注意的是,C++ 中数组的长度必须是常量,不能使用变量,因此需要使用变长数组或动态内存分配技术来实现。上面的代码中使用的是变长数组。
相关问题
c++怎么将输入的数字存入数组中
### 回答1:
C语言中,将输入的数字存入数组的方法有很多种。我将介绍两种常用的方式。
第一种方法是使用循环结构和scanf函数来实现。首先,需要定义一个数组来存储输入的数字,假设数组名为arr,数组长度为n。然后,使用循环结构将数字逐个输入并存入数组中,直到输入完成为止。具体操作代码如下:
```c
#include <stdio.h>
int main() {
int n; // 数组长度
printf("请输入数组长度:");
scanf("%d", &n);
int arr[n]; // 定义数组
printf("请输入%d个数字:\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]); // 输入数字并存入数组
}
printf("您输入的数字为:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]); // 输出数组中的数字
}
return 0;
}
```
第二种方法是使用动态内存分配和malloc函数来实现。首先,需要在程序中包含stdlib.h头文件。然后,使用malloc函数动态地分配一块内存空间来存储输入的数字。具体操作代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int n; // 数组长度
printf("请输入数组长度:");
scanf("%d", &n);
int *arr = (int*)malloc(n * sizeof(int)); // 动态分配内存
printf("请输入%d个数字:\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]); // 输入数字并存入数组
}
printf("您输入的数字为:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]); // 输出数组中的数字
}
free(arr); // 释放内存空间
return 0;
}
```
以上就是两种常用的方法,可以根据实际需求选择适合的方式来将输入的数字存入数组中。
### 回答2:
要将输入的数字存入数组中,可以按照以下步骤进行操作:
1. 首先,定义一个数组,用于存储输入的数字。例如:int[] nums = new int[n],这里n表示数组的大小,可以根据实际需要进行调整。
2. 接下来,使用循环语句来逐个接收用户的输入数字,并将其存入数组中。例如使用for循环,从索引0开始逐个接收输入数字,直到数组末尾。
3. 在每次循环中,使用Scanner等输入函数来接收用户的输入,然后将其转换为整型并存入数组对应的索引位置。例如:nums[i] = Integer.parseInt(input.nextLine())。
4. 当循环执行完毕后,输入的数字就都存储在数组中了。
以下是一个简单的示例代码:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入数字的个数:");
int n = input.nextInt();
int[] nums = new int[n];
System.out.println("请输入" + n + "个数字:");
for (int i = 0; i < n; i++) {
nums[i] = input.nextInt();
}
System.out.println("输入的数字为:");
for (int num : nums) {
System.out.print(num + " ");
}
}
}
```
以上代码首先接收用户输入的数字个数n,然后定义了一个大小为n的数组nums。接着通过循环逐个接收用户输入的数字,并存入数组对应的索引位置。最后,将存储在数组中的数字输出显示给用户。
cin一行数字存入数组
可以使用以下代码将一行数字存入数组:
```c++
#include <iostream>
using namespace std;
int main() {
const int MAX_SIZE = 100; // 假设数组最大长度为100
int arr[MAX_SIZE]; // 定义数组
int n = 0; // 记录数组元素个数
cout << "请输入一行数字(以空格分隔,以非数字字符结束):";
while (cin >> arr[n]) { // 读入数字
n++;
if (n == MAX_SIZE) { // 数组已满,退出循环
break;
}
}
for (int i = 0; i < n; i++) { // 输出数组
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
解释一下代码:
1. 定义常量 `MAX_SIZE` 表示数组最大长度,定义数组 `arr` 存储数字,定义变量 `n` 记录数组元素个数。
2. 提示用户输入一行数字,使用 `while` 循环读入数字并存入数组 `arr` 中,同时记录元素个数 `n`。
3. 在读入数字的同时,如果数组已满(即 `n` 等于 `MAX_SIZE`),则退出循环。
4. 使用 `for` 循环输出数组中的元素。
注意:此代码假设输入的数字是整数,如果输入的数字是浮点数或其他类型,需要根据实际情况进行修改。