1樓:聽時間流逝
我當初學c的時候有過和你一樣的想法,但是陣列的記憶體只能靜態分配,所以你必須指明陣列的大小。
比如:int a[10];
char ch = "i love china!"。
一個顯式指定大小,一個是隱式指定。
2樓:逐夢兮樂
這個陣列不能是變數,只能是常量,沒法設定的。
3樓:浪尖上打禪
這其實就是動態開闢陣列,需要使用到malloc函式#include
using namespace std;
void main()
for(int j=0;j free(a); }//看明白就懂了 4樓:暗號 不可以,陣列的個數不可以為一個變數 如過你不確定你需要幾個元素,你可以用指標操作 5樓: int i[7]; for(int x ; x < 6 ;++x) 是這個意思嗎? 6樓:金色潛鳥 c/c++ 語言裡, 宣告 陣列大小時,只允許用常數,例如: int a[10]; int b[5*4*3]; 不允許用 變數。 如何將一個陣列元素的個數設為輸入的值呢,一般用動態分配。 int *a; // 宣告為指標。 知道大小n後, 用動態分配: a = (int *) malloc(sizeof(int) * n); 接下來就可以 把 a 看成 你 宣告過 int a[n]; 了。 對初學者來說,你開個大陣列,多給些單元,就可以了。 例如,你估計 你的 n = 10 到 1000 範圍,你宣告 int a[2000]; 就怎麼也夠用了。 現代計算機用虛擬儲存,1000,2000 個單元,小意思了。 在c語言中,如何在陣列中插入一個數 7樓:匿名使用者 方法為:輸入一個資料x,將陣列中的資料與x逐一比較,如果大於x,記錄下資料的下標,然後此資料下標和其後的資料的下標都加一,相當於都向後挪一位,然後將x賦值給陣列的那個下標。 #include int main() int i, j, k, x, a[11] =(3, 6, 7, 9, 12, 14, 15, 27, 29, 31) ; printf("插入前陣列的資料是:") ; for(i=0;i<10;i++) printf("%4d",a[i] ) ; printf("\n") ; printf("請輸入要插入的資料:") ; scanf("%d",&x) ; for(i=0;i<10;i++) if(a[i]>x) break; for(j=9; j>=i; j--) alj+1] =alj] ; a[i]=x; printf("插入後陣列的資料是:") ; for(i=0; i<11; i++) printf("%4d",[i] ) ; return 0; 8樓:理暄妍果揚 程式1:這個是輸入10個數 先排序再插入一個數 再排序陣列 大小你可以自己更改 #include void main() for(i=0;i<10;i++) printf("%d ",a[i]); scanf("%d",&m); for(i=0;i<10;i++) if(a[i]>m) a[10]=m; for(i=0;i<11;i++) printf("%d ",a[i]); printf("\n"); }程式2:如果題中已給排好序的陣列 不必自己輸入的話 #include void main() ;int temp1, temp2,number,end,i,j; printf("array a:\n"); for(i=0;i<10;i++) printf("%5d",a[i]); printf("\n"); printf("insert date:"); scanf("%d",&number); end=a[9]; if(number>end) a[10]=number; else break;}} }printf("now,array a:\n"); for(i=0;i<11;i++) printf("%d ",a[i]);} 9樓:傑遜漂流記 有一個已排好序(從大到小)的陣列有5個元素,從鍵盤輸入一個數,要求按原排序的規律將它插入到陣列中<5;i++) if(x2. j=i; /*當這個數比當前數小時,用j記住當前位置,即j=i,中斷迴圈。…… 10樓:招鵬鯨清可 #include"stdio.h" #include"string.h" void main() ;//////////這裡定義陣列的時候,要寫上11,否則會認為該陣列只有10個元素,那樣的話,無法對其進行插入的。其他地方沒有錯誤 inti,j,temp,n; for(i=0;i<10;i++) for(j=0;j<9-i;j++) if(a[j]>a[j+1]) printf("按從小到大的排列順序為:\n"); for(i=0;i<10;i++) printf("%d ",a[i]); printf("請輸入你想插入陣列的數字:"); scanf("%d",&n); for(i=0;i<10;i++) if(n =i;j--) a[j+1]=a[j]; break; }a[i]=n; for(i=0;i<11;i++) printf("%d ",a[i]); printf("\n");} 11樓:匿名使用者 樓主能說具體點嗎。有很多方法,比如用字串連線的函式,strc...什麼什麼的函式,還可以直接插入一個數,和陣列中的數比較大小 12樓:匿名使用者 比如在第n個數中插入一個m c語言中如何依次輸入陣列中元素? 13樓: #include int main() int a[17]; int i; for(i=0;i<17;i++) scanf("%d",&a[i]); return 0; 14樓:匿名使用者 函式功能:把格式化的資料寫入某個字串 函式原型:int sprintf( char *buffer, const char *format [, argument] … ); 返回值:字串長度(strlen) 例子:char* who = "i"; char* whom = "csdn"; sprintf(s, "%s love %s.", who, whom); //產生:"i love csdn. " 這字串寫到s中 sprintf(s, "%10.3f", 3.1415626); //產生:" 3.142" 15樓: 陣列下標是從0開始的,如果要輸入16個元素就應該開a[ 16 ]int a[ 16 ], i; for ( i = 0; i < 每敲一個元素按一次回車或者空一個格都可以。 16樓:湛絹仝嫻淑 for(int i=0;i<17;i++) cin>>a[i]; 這是c++得,不同得編輯器可能有些不同。可以把inti;放在外面 inti; for(i=0;i<17;i++) scanf("%d",&a[i]); 這是c語言得,可以試試。 17樓:4747哦 1.整型陣列輸入 int i,a[10]; for(i=0;i<10;i++) ...... 整型陣列輸出 int i,a[10]; for(i=0;i<10;i++) printf("%d",a[i]); ...... 有指標變數時輸入 int i,a[10],*p; for(p=a,i=0;i<10;k++) scanf("%d",p++); ...... 有指標變數時輸出 int i,a[10],*p; for(p=a,i=0;i<10;k++) printf("%d",a[i]); printf("%d",*(a+i)); printf("%d",p++); ...... 字元陣列 :字串的輸入輸出 char str[10];int i; for(i=0;i<9;i++) 間隔符,回車符和橫向跳格符(tab)都將作為字元被讀入 str[9]='\0'; //scanf無法從終端讀入\0,必須賦予串結束標誌 for(i=0;i<9;i++) printf("%c",str[i]); 或char str[10];int i; for(i=0;i<9;i++) scanf("%s",str); //整串字元輸入,空格回車符作為輸入資料的分隔符不能讀入 printf("%s",str);//遇到第一個\0結束輸出 或char str[10]; gets(str); //空格可以讀入直到讀入一個換行符 char str[10]; puts(str);//從起始地址開始直到遇到第一個‘\0'結束輸出 幻翼高達 需要準備的材料分別有 電腦 c語言編譯器。1 首先,開啟c語言編譯器,新建一個初始.cpp檔案,例如 test.cpp。2 在test.cpp檔案中,輸入c語言 char a 10 hello a 0 0 printf s a 3 編譯器執行test.cpp檔案,此時字串被成功置空被列印。... 可以讓陣列進行轉置來實現,參考如下 public class testtransposition output new int col row for int i 0 i amp for int j 0 j amp output j i input i j return output public ... 1 一個一個字元的賦值。或者用 strcpy函式來複制。strcpy函式中內部實現也是一個個賦值。2 字串以 0結束那是字串在計算機內的儲存結構,定義了字串計算機預設會在字串後加上 0做為字串結束標記,但是寫程式時並沒有顯式的寫出來。判斷是否為字串 字串都是用雙引號包含的。例如char string...c語言如何將賦值過的陣列置空,C語言 如何將一個賦值過的陣列置空
c語言如何將二維陣列中兩個元素交換位置
c語言如何將一串字元資料寫入字串陣列