㈠ c语言如何定义二维数组
二维数组定义的一般形式是:
dataType arrayName[length1][length2];
其中,dataType 为数据类型,arrayName 为数组名,length1 为第一维下标的长度,length2 为第二维下标的长度。
例如:
int a[3][4];
定义了一个 3 行 4 列的二维数组,共有 3×4=12 个元素,数组名为 a,即:
a[0][0], a[0][1], a[0][2], a[0][3]
a[1][0], a[1][1], a[1][2], a[1][3]
a[2][0], a[2][1], a[2][2], a[2][3]
㈡ C语言问题。定义一个二维数组
#include<stdio.h>
intmain()
{
intarr[5][6];
inti,j,max,min,sum,a,b,c,d,e;
floatave;
printf("Input30numbers: ");
for(i=0;i<5;i++)
for(j=0;j<6;j++)
scanf("%d",&arr[i][j]);//此处为srr[i][j],你写成srr[5][6]就成了为crr第6行第七列赋值了,不但错误,更是越界了!
printf(" ");
min=max=arr[0][0];//将最大值与最小值都初始化为第一个元素
a=b=c=d=0;//下标也要初始化!
for(i=0;i<5;i++)
for(j=0;j<6;j++)
{
if(max<arr[i][j])
{
max=arr[i][j];
a=i;
b=j;
}
if(min>arr[i][j])
{
min=arr[i][j];
c=i;
d=j;
}
}
printf("max=arr[%d][%d]=%d ",a,b,max);
printf("min=arr[%d][%d]=%d ",c,d,min);
sum=0;
for(i=0;i<5;i++)
{
for(j=0;j<6;j++)
sum+=arr[i][j];
e=i;
ave=sum/6.0;//写成6.0使得sum提升到浮点型
printf("ave=arr[%d]=%f ",e,ave);
}
return0;
}
楼主基本没有大错误,只是不够仔细,用来保存特定值的变量使用前一定要初始化,如本例中的最大值,最小值,下标,都是必须初始化的!
整型与整型运算会得到整型,1/2=0,5/4=1;系统会舍去小数部分。只要将其中一个提升至浮点型即可,如1.0/2,5/4.0,如果是两个整型变量,可以写成(float)a/b,即可使得得到浮点型结果!
2013 5 25 7:05
1L
耗时 4min
㈢ c语言中二维数组的定义
c语言中,要定义一个三行四列的int二维数组,可以采用以下的语句:
int a[3][4];
㈣ C语言二维数组定义是什么,然后int a[1][2]是代表什么意思怎么用这个二维数组
C语言二维数组定义的一般形式是:类型说明符 数组名[常量表达式1][常量表达式2]
int a[1][2]的意思是,定义了一个int类型的,数组名为a的,具有1行2列的数组
你可以把这个二维数组想象成一个表格,这个表格有1行2列,每个格子中可以放入一个int型数据。
数组使用就是用数组下标来访问数组中的元素,比如a[0][1]=5,就是把第1行的第2个元素赋值为5。
㈤ c语言关于定义二维数组的问题
首先你要理解二维数组的真正含义,它的第一维就是一组数据的起始地址,第二维就是某组数据中的某个值.其次,你要知道a[][4]所表达的意思,是指二维数组a的每一维都是由4个元素组成的一维数组.而编译器可以根据你赋给a的初值个数计算它的第一维长度(元素总个数/4,如果不能整除,则长度加1,此时还应该有几个没有赋初值的数组元素).而a[3][]的意思从表面上看可以成立,但问题是编译器不能直接识别其第二维的确切长度(你可以考虑,如果总的初值个数为2时,可以认为a的第二维长度为1,也可以是2,.......),这样就会产生错误.所以,可以a[][4]={*,*,*……}这样定义,而不能定义a[3][]={*,*,*……}。
对于你补充的问题,其实我已经讲了.因为赋初值是5个元素,所以5/4=1,但除不尽,所以要加1,即实际数组a实质上定义为a[2][4],其内元素为:
1 2 3 4
5 0 0 0 (后面的三个0是系统默认值)
希望对你有所帮助.^-^
㈥ C语言中二维数组的定义问题
1. 二维数组的第一个维度缺省是:
举个例子:int tar[][2] = {1,2,3,4};
因为大括号中有4个元素,而且第二个维度是2,所以就可以计算出来第一维度是2.所以是可以缺省的。
2. 你的这个例子中,第一维缺省的应该是(7*8+1)/(__MAXITERMLEN__+1) 向上取整。
3. 因为fd_jpf1[i]是一个一级指针,保存的是地址,设置为NULL表示为空。在这里应该是把它当做这个数组中有效元素的结束的标志了。
㈦ c语言怎么定义二维数组
#include<stdio.h>
#defineN3
#defineM4
voidmain()
{
inta[N][M];
intb[M][N];
inti,j;
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
{
printf("%5d",b[i][j]);
}
printf(" ");
}
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
{
b[j][i]=a[i][j];
}
}
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
printf("%5d",b[i][j]);
}
printf(" ");
}
}
㈧ 二维数组的定义的一般格式
二维数组的定义的一般格式:
1.先声明再初始化
例如:
//1.声明
int[] nums;
//初始化
nums = new int[5];
2.声明并初始化
例如:
//2.声明、初始化
int[] nums = new int[10];
3.创建数组同时赋值
例如:
//3.创建数组同时赋值
String[] names=new String[]{"大名","小米","夏雨荷"};
int[] ages=new int[]{21,22,21,56,13};
for (int i = 0;i < names.length;i++){
System.out.prinrln(names[i]);
}
for (int i = 0;i < ages.length;i++){
System.out.prinrln(ages[i]);
}
4.创建同时赋值,简写,不能写成两条语句
例如:
//4.创建同时赋值,简写,不能写成两条语句
String[] cities = {"上海","北京"};
(8)二维数组c语言定义阶扩展阅读:
数组(Array)是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。 这些有序排列的同类数据元素的集合称为数组。
数组是用于储存多个相同类型数据的集合。
在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
㈨ c语言中二维数组的定义
二维数组定义的一般形式是:
类型说明符 数组名[常量表达式1][常量表达式2]
其中常量表达式1表示第一维下标的长度,常量表达式2 表示第二维下标的长度
int a[3][4];
㈩ C语言中如何定义一个二维数组
C语言不支持动态数组 所以不能将变量作为数组长度
一般来说用C实现动态数组会用链表的方式