C++ 如何将输入的数读入数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ 如何将输入的数读入数组相关的知识,希望对你有一定的参考价值。
假如从键盘上敲入
2 5 7(回车)
定义数组array[10];
则
array[0]=2;
array[1]=5;
array[2]=7;
当然,我指的是你不知道用户输入了多少个数(前提:小于10)~~
实现的你的要求
你可以拿去看下^_^
/***********************************************
思路:
1.首先用一个字符数组存储用户所输入的所有数据
(包括空格)
2.再从这个数组中将数据提取出来存放到数组array中
存在问题.
这个程序还未写完整.很多BUG都没考虑.
1.当用户输入的不是数字的时候未判断.
2.用户输入的第一个字符为'空格'.
等......
***********************************************/
#include<stdio.h>
#include<stdlib.h>
void main()
int array[10] = 0;//定义数组
int nJ = 1;
char strNum[50] = 0;//零时存储数据
char* cNum = strNum;//指向字符数组的指针用于读出数据
gets(strNum);//读取数据
array[0] = atoi(cNum);
//将数组strNum中的内容转换到数组array
for(int nI = 0; nI < 50;nI++)
if(*cNum == 32)
array[nJ] = atoi((cNum + 1));//提取字符串中的数字
nJ++;
cNum++;
for(int i = 0; i < 10; i++)
printf("%d\n",array[i]);
参考技术A #include <iostream>
#include <sstream>
#include <cstddef>
#include <string>
using namespace std;
#define OUT(name,num) \
cout << #name "[" << num << "] = " << name[num] << endl
string& clear(string &str);
int main( )
const int SIZE = 10;
int array[SIZE] = 0 ;
string str;
getline(cin, str);
str = clear(str);
istringstream iss(str);
for (int i(0),temp(0); (iss >> temp) && (i < SIZE); ++i)
array[i] = temp;
for (int i = 0; i < SIZE; ++i)
OUT(array,i);
string& clear(string &str)
size_t begin;
while ((begin = str.find_first_not_of(" 0123456789")) != str.npos)
str.replace(begin, 1, " ");
return str;
输入:2 5 7
输出:2 5 7 0 0 0 0 0 0 0
此时
arr[0] = 2;
arr[1] = 5;
arr[2] = 7;
其他为0。
另外我增加了防错:
输入:0a 1d 2 3abc 4 5ffd 6d 7 8gg 9aa10fdgdf
输出: 0 1 2 3 4 5 6 7 8 9
输入:dsggsdgfdgd1 2dfgsd12fdgdf
输出:1 2 12 0 0 0 0 0 0 0
如果有你不懂的地方希望你能查查网络和书,借此多了解C++。 参考技术B #include <iostream.h>
....
cin>>a[0]>>a[1]>>a[2];
...
matlab如何把读入的数弄成数组?
matlab如何把读入的数弄成数组?
a=input('请输入数组')回车后,
如果输入:
1 2
会出错。
但如果输入:
[1,2]就可以认为是数组。 参考技术A load 文本文件文件名;
x=文本文件文件名(1:end,1);
y=文本文件文件名(1:end,2); 参考技术B matlab一般是用矩阵的概念,数组是其他语言才用的!
我的QQ382101365
以上是关于C++ 如何将输入的数读入数组的主要内容,如果未能解决你的问题,请参考以下文章