Ⅰ 用c語言輸出二維數組
這樣就可以了:
#include<stdio.h>
#defineN10
main()
{
intshuzu[10][10]={
{1,1,1,1,1,1,1,1,1,1},
{1,0,0,0,0,0,0,1,1,1},
{1,0,1,1,1,0,1,1,1,1},
{1,0,1,1,1,0,0,1,1,1},
{1,0,1,1,1,1,1,1,1,1},
{1,0,1,1,1,1,1,1,1,1},
{1,0,0,0,0,0,0,0,1,1},
{1,1,1,0,1,0,1,0,1,1},
{1,1,1,0,0,0,1,0,0,1},
{1,1,1,1,1,1,1,1,1,1}
};
inti,j;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
printf("%d",shuzu[i][j]);
printf("
");
}
}
Ⅱ C語言 怎麼用指針輸出一個二維數組的全部值
C語言的數組(不管多少維)在內存中都是線性儲存的。所以用一級指針加偏移就可以訪問所有元素。
舉個例子,有一個10*10的二維數組a,這樣就可以輸出:
inta[10][10];
int*p=(int*)a;
inti;
for(i=0;i<10*10;i++)
printf("%d",*(p+i));
Ⅲ C語言中如何定義動態二維數組並輸出
使用malloc函數,先分配第一維的大小,然後再循環分配每一維的大小。
示例代碼,分配3行4列二維數組:
#include <stdio.h>#include <malloc.h> int main(){ int **a; int i, j; a = (int**)malloc(sizeof(int*)*3);//為二維數組分配3行 for (i = 0; i < 3; ++i){//為每列分配4個大小空間 a[i] = (int*)malloc(sizeof(int)*4); } //初始化 for (i = 0; i < 3; ++i){ for (j = 0; j < 4; ++j){ a[i][j] = i+j; } } //輸出測試 for (i = 0; i < 3; ++i){ for (j = 0; j < 4; ++j){ printf ("%d ", a[i][j]); } printf ("\n"); } //釋放動態開辟的空間 for (i = 0; i < 3; ++i){ free(a[i]); } free(a); return 0;}/*輸出:0 1 2 31 2 3 42 3 4 5*/
Ⅳ 關於c語言二維數組輸出問題
二維數組是由一維數組構成的,循環第一維輸出就可以了——
#include"stdio.h"
intmain(intargc,char*argv[]){
chars[][30]={"12345","abcde","647hfsdjka","ABCD","","Type","Moon","cxt"};
inti;
for(i=0;i<7;puts(s[i++]));
return0;
}
運行結果:
空的那一行就是那個空字元串的輸出結果。
Ⅳ c語言中,如何手動輸入二維數組
C語言中,如何手動輸入二維數組?c語言的數組是非常重要的內容,特別是二維數組的內容,所以今天就由小編來為大家介紹c語言怎麼創建一個二維數組。
工具原料c語言電腦
方法/步驟分步閱讀
1
/6
第一首先在電腦上打開c語言編程軟體。
然後創建項目。
2
/6
第二然後導入stdio.h和stdlib包。
再加入malloc包。
3
/6
第三然後定義五個參數。
再創建其中兩個參數的空間。
4
/6
第四然後用for語句進行循環。
再用scanf語句進行接收輸入到二維數組。。
5
/6
第五然後用兩個for語言循環。
再輸出二維數組的數值。
6
/6
第六然後用printf語句進行數據輸出分格。
這樣一個二維數組就創建成功了。
注意事項
個人經驗,僅供參考。
內容僅供參考並受版權保護
擴展內容:
二維數組:
二維數組本質上是以數組作為數組元素的數組,即「數組的數組」,類型說明符 數組名[常量表達式][常量表達式]。二維數組又稱為矩陣,行列數相等的矩陣稱為方陣。對稱矩陣a[i][j] = a[j][i],對角矩陣:n階方陣主對角線外都是零元素。
二維數組A[m][n],這是一個m行,n列的二維數組。設a[p][q]為A的第一個元素,即二維數組的行下標從p到m+p,列下標從q到n+q,按「行優先順序」存儲時則元素a[i][j]的地址計算為:LOC(a[i][j]) = LOC(a[p][q]) + ((i − p) * n + (j − q)) * t,按「列優先順序」存儲時,地址計算為:LOC(a[i][j]) = LOC(a[p][q]) + ((j − q) * m + (i − p)) * t,存放該數組至少需要的單元數為(m-p+1) * (n-q+1) * t 個位元組。
Ⅵ C語言中如何按二維數組形式輸出二維數組
輸出的時候,內部的for運行結束,再輸出一個回車就可以了。
括弧不匹配吧,大括弧}
Ⅶ 急急!!!如何用c語言輸入和輸出一個二維數組
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[2][2];
int i,j;
for (i=0;i<2;i++)
{
for (j=0;j<2;j++)
{
scanf("%d ",&a[i][j]);
}
}
for(i=0;i<2;i++)
for(j=0;j<2;j++)
printf("%d",a[i][j]);
return 0;
}
運行成功
Ⅷ C語言中的二維數組的賦值,輸入輸出怎麼用
代碼,實現先輸入二維數組的行數m和列數n,並再輸入m*n個整型數據存到動態二維數組中。最後輸出所有二維數組的元素值。
int main()
{
int**p;//定義二維指針。
int m,n;//行數和列數。
int i,j;
scanf("%d%d",&m,&n);//輸入行數和列數。
if(m<=0||n<=0)return-1;//行數或列數非法。
p=(int**)malloc(sizeof(int*)*m);//申請一組一維指針空間。
for(i=0;i<m;i++)
p<i>=(int*)malloc(sizeof(int)*n);//對於每個一維指針,申請一行數據的空間。
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&p<i>[j]);//輸入第i行第j列的數據。其中&p<i>[j]也可以寫作p<i>+j或者是*(p+i)+j.功能相同。
printf("輸入的數組為%d行%d列: ",m,n);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)//這個循環可以輸出一行元素。
printf("%d",p<i>[j]);//輸出i行j列的元素。
printf(" ");//每行輸入結束加換行符。
}
//釋放內存
for(i=0;i<m;i++)
free(p<i>);
free(p);
return 0;
}
(8)c語言輸出二行數組擴展閱讀:
函數:free
功能:與malloc()函數配對使用,釋放malloc函數申請的動態內存。(另:對於free(p)這句語句,如果p是NULL指針,那麼free對p無論操作多少次都不會出問題。如果p不是NULL指針,那麼free對p連續操作兩次就會導致程序運行錯誤。)
用法;void free(void*ptr);
程序例:
C/C++代碼如下:
#include<string.h>
#include<stdio.h>
#include<alloc.h>//or#include<malloc.h>
int main(void)
{
char*str;
/*allocate memory for string*/
str=(char*)malloc(10);
/*"Hello"to string*/
strcpy(str,"Hello");
/*display string*/
printf("String is%s ",str);
/*free memory*/
free(str);
str=NULL;
return 0;
}