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以... 我提供個思路,你可以用遞迴的方式解這個問題。如果m 10,w1 1,則如果w1為滿足的若干件其中之一的話,則需要其他加起來為m w1,以此類推,直到w1到wn中有滿足的,且沒有重複的為止 include include include typedef struct link link void in... 蕪視壹苆灬 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... 先不說統計啥的,fun1 裡你的scanf d x i 沒有放到for迴圈裡。我忘了c裡面陣列申請時下標從1還是從0開始了,那麼只有x 3 有值,或者根本沒有x 3 記憶體溢位。你的 太凌亂了!看完就覺得沒幾句 是正確的,返回值不注意,變數的初始化也不注意,感覺跟沒學過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的取值範圍很小,所以這中遞迴...從鍵盤輸入整數判斷它是否為素數,從鍵盤輸入乙個整數,判斷它是否為素數
C語言問題,從鍵盤輸入n個英語單詞。輸入格式為n,w1,w2,w3 wn,其中n表示隨後輸入的英語
c語言編寫程式提示從鍵盤輸入小於1000的正
C語言程式設計從鍵盤輸入班(全班最多不超過30人)學生某門課的成績,當輸入成績為負值時,輸入結束
c 程式設計 從鍵盤輸入數 求這數的階乘和