Ⅰ 用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;
}