二维数组定义


一、二维数组定义与赋值

1.定义
一维数组:
int score[3];
二维数组:
int score[2][3]
2:行数
3:列数
行数和列数:只能是整形常量,不能是变量
元素是在计算机中是按行存储,即先存储第一行所有元素,在存储第二行所有元素,依次存储
2.初始化
int score[2][1]={{1,2,3},{4,5,6}};
3.从键盘输入赋值
一维数组:
scanf("%d",&a[i]);
二维数组:
scanf("%d",&a[][]);

二、二维数组元素引用

1.输出

int score[2][3];
for(i=1;i<2;i++){
	for(i=0;i<3;i++)
	printf("%d",score[i][j]);
}

2.习题
输入学生成绩

#include<stdio.h>

int main()
{
	int score[2][3];
	
	int i,j;
	
	for(i=0;i<2;i++){
	printf("请输入第%d名学生成绩(语,数,英)\n",i+1); 
		for(j=0;j<3;j++)
			scanf("%4d",&score[i][j]);
		}
		
	for(i=0;i<2;i++)
	{
	printf("第%d名学生成绩\n",i+1); 
		for(j=0;j<3;j++)
			printf("%4d ",score[i][j]);
		printf("\n");
	}
 } 

求学生平均分

#include<stdio.h>

int main()
{
	int score[2][3];
	int sum;
	float aver; 
	int i,j;
	
	for(i=0;i<2;i++){
	printf("请输入第%d名学生成绩(语,数,英)\n",i+1); 
		for(j=0;j<3;j++)
			scanf("%4d",&score[i][j]);
		}
		
	for(i=0;i<2;i++)
	{
		sum=0;
		for(j=0;j<3;j++)
			sum+=score[i][j];
		aver =sum/3.0;
		printf("第%d名学生的平均分:%.f\n",i+1,aver); 
	}
	
	for(i=0;i<2;i++)
	{
	printf("第%d名学生成绩\n",i+1); 
		for(j=0;j<3;j++)
			printf("%4d ",score[i][j]);
		printf("\n");
	}
 } 

求每门课平均分

#include<stdio.h>

int main()
{
	int score[2][3];
	int sum;
	float aver; 
	int i,j;
	
	for(i=0;i<2;i++){
	printf("请输入第%d名学生成绩(语,数,英)\n",i+1); 
		for(j=0;j<3;j++)
			scanf("%4d",&score[i][j]);
		}
		
	for(j=0;j<3;j++)
	{
		sum=0;
		for(i=0;i<2;i++)
			sum+=score[i][j];
		aver =(float)sum/i;
		printf("第%d门课程的平均分:%.2f\n",j+1,aver); 
	}
	
	for(i=0;i<2;i++)
	{
	printf("第%d名学生成绩\n",i+1); 
		for(j=0;j<3;j++)
			printf("%4d ",score[i][j]);
		printf("\n");
	}
 }  

行列交换

 #include<stdio.h>

int main()
{
	int score[2][3]={{10,20,30},{60,70,80}};
	int i,j;
	
	for(i=0;i<2;i++)
	{
		for(j=0;j<3;j++)
			printf("%4d",score[i][j]);
			printf("\n");
	}
printf("_________________\n");
	for(j=0;j<3;j++)
	{
		for(i=0;i<2;i++)
			printf("%4d",score[i][j]);
			printf("\n");
	}
 }  

求矩阵最大小值

 #include<stdio.h>

int main()
{
	int a[4][3]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
	int i,j,max,min;
	
	
	max=a[0][0];
	min=a[0][0];
	
	for(i=0;i<4;i++)
	{
		for(j=0;j<3;j++)
		{
			if(a[i][j]>max)
				max=a[i][j];
			else if(a[i][j]<min)
				min=a[i][j];
		}
	}

	for(i=0;i<4;i++)
	{
		printf("\n");
		for(j=0;j<3;j++)
		{
			printf("%4d",a[i][j]);
		}
		
	}
	printf("\n__________");
	printf("\n最大值%4d",max);
	printf("\n最小值%4d",min);
 }  
  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值