c++,定义数组,并通过键盘输入数组的值,怎么做??

 我来答
娱乐小八卦啊a
高粉答主

2020-05-09 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:256 获赞数:117826

向TA提问 私信TA
展开全部

在程序中经常要根据用户输入新建数组。但是c语言中不允许非常量成为新建数组时表示大小的下标:

for example:

int line;

int col;

scanf("%d,%d",&line,&col);

int p[line][col];//这样是不允许的!!!!!

正确的做法是:

p = (int *)malloc(sizeof(int)*line*col);

访问或者写入数据时:

*(p + line*i + j);

p +line*i + j;

扩展资料

数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 numbers[0]、numbers[1]、...、numbers[99] 来代表一个个单独的变量。数组中的特定元素可以通过索引访问。

所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个元素。

在 C 中要声明一个数组,需要指定元素的类型和元素的数量,如下所示:

type arrayName [ arraySize ];

这叫做一维数组。arraySize 必须是一个大于零的整数常量,type 可以是任意有效的 C 数据类型。例如,要声明一个类型为 double 的包含 10 个元素的数组 balance,声明语句如下:

double balance[10];

现在 balance 是一个可用的数组,可以容纳 10 个类型为 double 的数字。

小星星教育知识分享
高粉答主

2020-05-23 · 用教师的智慧点燃学生的智慧火花
小星星教育知识分享
采纳数:202 获赞数:67132

向TA提问 私信TA
展开全部

#include<iostream>

using namespace std;

int main() {

int i;

cout << "please put number in it:";

int a[10];

for (i = 0; i < 10; i++)

{

cin >> a[i];

}

for (int n = 0; n < i; n++) {

cout << a[n]<<" ";

}

return 0;

}

扩展资料

C++_把输入的几个整数存入数组中

#include<iostream>

#include <stdio.h>

using namespace std;

int main()

{   int i=0;

int a;

int num_in[40];

char c;

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

while(i<a)

{

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

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

{

ungetc(c,stdin);

cin>> num_in[i++];

}

}

 for(int j=0;j<i;j++)

{

 cout<<"a["<<j<<"]:"<<num_in[j]<<endl;

}

return 0;

}

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
L_o_o_n_i_e
推荐于2017-11-26 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5086万
展开全部
下面说明动态分配数组。

#include <iostream>
using namespace std;
int main()
{
int *a;
int i,n;

cout<<"please enter array size:" <<endl ;
cin >> n; // 数组大小

a = (int *) malloc(sizeof(int) * n); // 分配

cout<<"please enter " << n << " numbers:" <<endl ;
for (i=0;i<n;i++)
{
cin >> a[i]; // 键盘输入 n 个数
}

for (i=0;i<n;i++) cout << a[i] << " ";
cout << endl;

return 0;
}

输入例子:
please enter array size:
5
please enter 5 numbers:
12 34 56 888 999
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pk246
2008-09-03 · TA获得超过400个赞
知道答主
回答量:402
采纳率:0%
帮助的人:0
展开全部
int* p= new int[5];

循环
cin>>p[n];
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式