c 怎麼從鍵盤輸入隨機個字元用陣列

時間 2022-09-14 04:35:32

1樓:匿名使用者

字元陣列的輸入輸出可以有兩種方法:

(1) 逐個字元輸入輸出,如例5.9。

(2) 將整個字串一次輸入或輸出。例如有以下程式段:

char str[20];

cin>>str;//用字元陣列名輸入字串

cout<

在執行時輸入乙個字串,如

china↙

在記憶體中,陣列str的狀態如圖5.9所示,在5個字元的後面自動加了乙個結束符′\0′。

輸出時,逐個輸出字元直到遇結束符′\0′,就停止輸出。輸出結果為

china

如前所述,字元陣列名str代表字元陣列第乙個元素的位址,執行「cout<

關於字元陣列的輸入輸出請注意以下幾點:

輸出的字元不包括結束符′\0′。

輸出字串時,cout流中用字元陣列名,而不是陣列元素名。

如果陣列長度大於字串實際長度,也只輸出到遇′\0′結束。

如果乙個字元陣列中包含乙個以上′\0′,則遇第乙個′\0′時輸出就結束。

用cin從鍵盤向計算機輸入乙個字串時,從鍵盤輸入的字串應短於已定義的字元陣列的長度,否則會出現問題。

c++提供了cin流中的getline函式,用於讀入一行字元(或一行字元中前若干個字元),使用安全又方便,請參閱第13章13.3.2節

2樓:匿名使用者

不懂、有詳細的題目嗎?

c++,定義陣列,並通過鍵盤輸入陣列的值,怎麼做??

3樓:娛樂小八卦啊

在程式中經常要根據使用者輸入新建陣列。但是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 的數字。

4樓:

下面說明動態分配陣列。

#include

using namespace std;

int main()

for (i=0;i

cout << endl;

return 0;

} 輸入例子:

please enter array size:

5please enter 5 numbers:

12 34 56 888 999

5樓:匿名使用者

int* p= new int[5];

迴圈cin>>p[n];

c++如何鍵盤輸入字串 到動態字串陣列中?

6樓:匿名使用者

#inlcude

using namespace std;

這兩句寫了沒?

還有 你要把錯誤提示發上來啊 否則別人怎麼知道你是什麼錯誤

c++中如何將帶空格的字串錄入到乙個陣列中

7樓:我是人嗎似的

我去。。。。你搞這麼麻煩,還用陣列,直接用string不行了用getline,getline(cin,string),然後把string轉化為char的陣列即可

具體如下

string r;

getline(cin,r);

char a[10]=;

memcpy(a,r.c_str(),10);

然後a裡面存的就是所需的東西了

一樓那個回覆就能用

8樓:擼**的小強哥

用gets (how are you)試一下吧。

c++怎麼從鍵盤輸入乙個字串存入字串陣列,並且以 x 結束輸入

9樓:

應該是cin>>a[i];不是a[100]

如何在c++中實現用乙個鍵盤輸入值定義陣列內包含的元素個數?

10樓:倒霉熊

//可以使用動態分配空間,使用new和delete關鍵字。

//例如,定義乙個動態的int型別的陣列

#include

using namespace std;

int main()

11樓:糖糖寳寳

#include

using namespace std;

int main()

for (i=0;i

cout << endl;

return 0;

} 輸入例子:

please enter array size:

5please enter 5 numbers:

12 34 56 888 999

12樓:紅領巾飄過

動態開闢陣列空間

int i,j=0;

cin>>i;

int*p;

p=new int[i];

下面是乙個簡單的例子

#include

using namespace std;

int main ()

for (j=0;j

delete p;

return 0;}

13樓:匿名使用者

用動態陣列

#include

int main()

14樓:保冬萱

這個好像不能這麼做,記憶體申請的時候必須是固定的,而你的說法是申請是這個記憶體空間之是不固定的,這樣是不符合定義標準的

從鍵盤輸入整數判斷它是否為素數,從鍵盤輸入乙個整數,判斷它是否為素數

演算法如下 已執行通過 include iostream.h include math.h define n 1000 bool fun int n void main 補充一下,求素數的方法還是有很多的,比如 1 遍歷2以上n的平方根以下的每乙個整數,是不是能整除n 這是最基本的方法 2 遍歷2以...

C語言問題,從鍵盤輸入n個英語單詞。輸入格式為n,w1,w2,w3 wn,其中n表示隨後輸入的英語

我提供個思路,你可以用遞迴的方式解這個問題。如果m 10,w1 1,則如果w1為滿足的若干件其中之一的話,則需要其他加起來為m w1,以此類推,直到w1到wn中有滿足的,且沒有重複的為止 include include include typedef struct link link void in...

c語言編寫程式提示從鍵盤輸入小於1000的正

蕪視壹苆灬 include stdio.h void aa int k 個位數字或者百位數字 void aaa int i,int j 特殊情況 void x int l 十位數字 void fun int a,int b,int c if b 1 aaa b,c if b 1 b 9 if b 0...

C語言程式設計從鍵盤輸入班(全班最多不超過30人)學生某門課的成績,當輸入成績為負值時,輸入結束

先不說統計啥的,fun1 裡你的scanf d x i 沒有放到for迴圈裡。我忘了c裡面陣列申請時下標從1還是從0開始了,那麼只有x 3 有值,或者根本沒有x 3 記憶體溢位。你的 太凌亂了!看完就覺得沒幾句 是正確的,返回值不注意,變數的初始化也不注意,感覺跟沒學過c的一樣,要讓別人肯幫你修改,...

c 程式設計 從鍵盤輸入數 求這數的階乘和

for m 1,m a,m 裡的是 而不是,就拿第乙個說吧,因為第二個錯得很離譜了。p,q,r都要先付初值1 int a,b,c,d scanf d d d a,b,c d f a f b f c int f i 我把樓上的改成遞迴了。但是有乙個非常需要注意的地方。int的取值範圍很小,所以這中遞迴...