怎麼輸入數控制數組大小
⑴ 請教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的用法