怎么输入数控制数组大小
⑴ 请教c++中如何通过键盘输入数字来确定数组的大小
必须用动态数组
先输入大小
然后new分配数组
比如
intn;
int*p;
cin>>n;
p=newint[n];
⑵ C++中,如何将输入的数字作为数组大小
C++编译器才要那么做
G++(就是DEV,Eclipse用的编译器)根本不需要,直接写就可以了
⑶ 如何从键盘输入一个数并把这个数作为数组长度。
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
int main(int argc,char* argv[])
{
int i;
printf("请输入您想要来申请的数组大小源 : \n");
scanf("%d",&i); //也可以改变类型,要看您输入什么类型的数
int *array = (int*)malloc(i*sizeof(int));
return 0;
}
//小可,水平有限,我们相互探讨!
⑷ 手动输入数组的长度,如何实现
可以,要用到动态内存分配,看你是用什么语言了,C的话:
#include <stdio.h>
#include <stdlib.h> // 要包含这个头文件使用专malloc和free等函数
int main()
{
int* p;
int n, i;
printf("enter n:");
scanf("%d", &n);
p = (int*)malloc(sizeof(int)*n); // 分配是以字节属为单位
for(i = 0; i < n; ++i) {
p[i] = i + 1;
printf("%d ", p[i]);
}
free(p); // 养成好习惯,用完后free
return 0;
}
⑸ 怎么根据输入的数字定义一维数组的大小。
用动态分配内存,比如
int *p;
int n;
scanf("%d\n",&n);
p = (int*)malloc(sizeof(int)*n);
就能分配n指定大小的数组p
⑹ c语言怎么输入任意长度的一个数组
#include<stdio.h>
#include<stdlib.h>
intmain()
{
inti=0,n=1;
int*a;
a=malloc(n*sizeof(int));
do
{
scanf("%d",&a[i++]);
realloc(a,++n*sizeof(int));
}while(getchar(a[i-1])!=' ');
for(i=0;i<n-1;i++)
printf("%d",a[i]);
printf(" ");
}
⑺ 关于如何输入一个数来任意确定数组大小
一般数组的定义是不能用变量来作为维数的,
如:int a[n]是不行的;
数组的维数要用常量表达式定义,此常量表达式之恩那个包含整型字面值常量和枚举常量或用常量表达式初始化的const对象,非const变量以及要运行阶段才知道其值得const变量都不能用于定义数组的维数。
要满足你所说的用户输入数组大小的要求,就要用动态数组。
用整型变量来举个例子如下:
C++中用下面定义:
int n;
std::cin >> n;
int *a = new int[n];
C语言中可以用malloc:
int n;
scanf("%d", &n);
int *a = (int*)malloc(n * sizeof(int));
要追加一点说明就是动态数组是存储在堆上的,用完了一定要释放内存,否则会造成内存泄露。
释放内存的时候,malloc申请的内存free来释放,new申请的内存用delete释放。
举个单纯用C语言基础知识说明的例子
void maim ()
{
int a[100],i,n;
scanf("%d",&n);
for(i=0;i<=n;i++)
scanf("%d",&a[i]);
printf("%d\n",a[i]);
}
注意n<=100
⑻ c++中怎样用键盘输入一个数确定数组的大小 比如我输入一个n=5,再根据n确定数组有5个数值。
标准C++版本:
#include<iostream>
#include<vector>
usingnamespacestd;
intgetArrayLength(void)
{
cout<<"请输入数组长度:"<<endl;
intarrayLength=0;
cin>>arrayLength;
returnarrayLength;
}
voidprintVector(constvector<int>&arr)
{
for(autoi=0;i<arr.size();++i)
{
cout<<"arrayInt["<<i<<"]="<<arr[i]<<endl;
}
}
intmain(int,char**)
{
vector<int>arrayInt;
arrayInt.resize(getArrayLength());
printVector(arrayInt);
return0;
}
数组的元素为new出来的未被初始化的值
⑼ 怎样输入一个数组数组长度由自己定义
C++的代码:
int N = 0;
cin>>N;
int *p= new int[N]; //动态分配N个元素的int数组,把数组的指针赋值给p
删除动态分配的内存是:内delete [] p; //方括号不可缺少。
下面容使用该数组的方法就是:p[index]就是访问了下表为index的数组元素。
C语言的代码:
int *a;
int N;
scanf("%d", &N);
a = (int *) malloc(N * sizeof(int));
....
free(a);
⑽ C语言,C++--------我想用从键盘输入的数来决定数组的大小,请问怎么可以实现啊
不行,阁下的意思是你想靠输入N来确定数组的大小是吧,不行,因为当你定义的时候他就已经分配内存了,因此无法达到楼主的意愿,但可以用malloc动态申请内存,具体你搜下malloc的用法