c语言一行数字存入数组,C++ 输入一行数字(含负数)存入数组中的案例

本文介绍了如何使用C++从标准输入读取包含正负数的一行数字并存储到数组中,避免空格和换行符,并提供了一个简单的代码示例。此外,还补充了一个将逗号分隔的数字字符串存入向量的C++方法。
摘要由CSDN通过智能技术生成

看了一些博客后发现对C++获取输入数到数组中有些运行错误,是因为没有加载C的标准库。

其实以下代码使用C语言更加合理,但是C的输入输出过于繁琐,因此使用了C++来写。

代码功能:

获取键入的数字存储到数组中,数字包括正数和负数,不录入空格键和换行符。

代码段:

#include

#include

using namespace std;

int main()

{ int i=0;

int a;

int num_in[40];

char c;

cin>>a; //想要存储的数的数目

while(i

{

c=getchar(); //获取输入字符

if((c>='0'&&c<='9')||c=='-') //输入正整数、负整数

{

ungetc(c,stdin);

cin>> num_in[i++];

}

}

for(int j=0;j

{

cout<

}

return 0;

}

结果如下图:

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答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。接着通过循环逐个接收用户输入数字,并存入数组对应的索引位置。最后,将存储在数组数字输出显示给用户。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值