c语言二维数组的赋值:
例1:
inta[5][3]={{80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85}};
例2:
#include<stdio.h>
intmain(){
inti,j;//二维数组下标
intsum=0;//当前科目的总成绩
intaverage;//总平均分
intv[3];//各科平均分
inta[5][3]={{80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85}};
for(i=0;i<3;i++){
for(j=0;j<5;j++){
sum+=a[j][i];//计算当前科目的总成绩
}
v[i]=sum/5;//当前科目的平均分
sum=0;
}
average=(v[0]+v[1]+v[2])/3;
printf("Math:%d\nCLanguag:%d\nEnglish:%d\n",v[0],v[1],v[2]);
printf("Total:%d\n",average);
return0;
}
扩展资料
二维数组可以看作是由一维数组嵌套而成的;如果一个数组的每个元素又是一个数组,那么它就是二维数组。当然,前提是各个元素的类型必须相同。根据这样的分析,一个二维数组也可以分解为多个一维数组,C语言允许这种分解。
二维数组a[3][4]可分解为三个一维数组,它们的数组名分别为a[0]、a[1]、a[2]。这三个一维数组可以直接拿来使用。这三个一维数组都有4个元素,比如,一维数组a[0]的元素为a[0][0]、a[0][1]、a[0][2]、a[0][3]。
参考资料来源:百度百科—c语言
1、定义时初始化赋值
int a[2][4]={ {1,2,3,4}, {5,6,7,8} };
2、定义后,进行数组元素赋值
int a[2][4];int i,j;for( i=0;i<2;i++ ) //行{ for( j=0;j<4;j++ ) //列 { a[i][j]=i*4+j+1 ; //逐个给每一个元素赋值 }}//以上赋值完成后,与初始化赋值得到的内容是相同的。
二维数组的输出,只能逐行遍历二维数组,逐个输出每一个元素。如:
//接前面代码for( i=0;i<2;i++ ) //行{ for( j=0;j<4;j++ ) //列 { printf( "%d ", a[i][j] ); //逐个输出每一个元素,数据间以空格间隔 } printf("\n");//输出一行后,换行显示}
我问的意思是,,在不确定行数列数的情况下给一个数组赋值。。
2具体源代码如下
#include<stdio.h>
int main()
{
int a[5][5],i,j;
for(i=0;i<5;i++) //对二维数组赋值
for(j=0;j<5;j++)
a[i][j]=5*i+j+1;
for(i=0;i<5;i++) //输出整个数组
{
for(j=0;j<5;j++)
printf("%4d",a[i][j]);
printf("\n");
}
printf("------------------------\n");
for(i=0;i<5;i++) //输出左下角
{
for(j=0;j<=i;j++)
printf("%4d",a[i][j]);
printf("\n");
}
return 0;
}