永发信息网

如何在C++中实现用一个键盘输入值定义数组内包含的元素个数?

答案:5  悬赏:20  手机版
解决时间 2021-02-19 14:03
  • 提问者网友:你挡着我发光了
  • 2021-02-19 04:56
例如输入5,数组中包含5个元素
最佳答案
  • 五星知识达人网友:迷人又混蛋
  • 2021-02-19 06:13
//可以使用动态分配空间,使用new和delete关键字。
//例如,定义一个动态的int类型的数组
#include<iostream>
using namespace std;
int main()
{
int *p;
int n;
cin>>n; //输入元素的个数。
p = new int[n]; //分配n个元素的一维整型数组的空间。
int i;
for(i=0;i<n;i++) //给数组元素赋值
p[i]=i+1;
for(i=0;i<n;i++) //输出数组元素
cout<<p[i]<<" ";
delete []p; //删除分配的空间。
return 0;
}
全部回答
  • 1楼网友:鱼忧
  • 2021-02-19 08:30
这个好像不能这么做,内存申请的时候必须是固定的,而你的说法是申请是这个内存空间之是不固定的,这样是不符合定义标准的
  • 2楼网友:轻雾山林
  • 2021-02-19 08:01
用动态数组 #include <iostream.h> int main() { const int a=5; int b[a]; //,a是个常变量(只读变量)定义普通数组是必须给以它长度,否则编译出错 for(int i=0;i<a;++i) cin>>b[i]; int c; int *p=new int[c];//建立动态数组,c是一个变量 ,是可以改变的 cout<<"输入变量c的值 \n"; for(int k=0;k<c;++k) cin>>p[k]; for(int j=0;j<c;++j) cout<<p[j]<<" "; delete[] p; return 0; }
  • 3楼网友:神的生死簿
  • 2021-02-19 06:50
动态开辟数组空间 int i,j=0; cin>>i; int*p; p=new int[i]; 下面是一个简单的例子 #include <iostream> using namespace std; int main () { int i,j=0; cin>>i; int*p; p=new int[i]; for (j=0;j<i;j++) { p[j]=j; } for (j=0;j<i;j++) { cout<<p[j]<<endl; } delete p; return 0; }
  • 4楼网友:傲气稳了全场
  • 2021-02-19 06:27
#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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯