二维数组c语言程序
#include<stdio.h>
voidmain()
{
//inta=-1;
//printf("%12o ",a);
floata[3][3]={14.3,2.6,3.9,3,3,6,3,4,2};
floatx;inti,j;
floatmaxRow[3];//记录每行的最大值
//记录每行的最大值到maxRow[i]
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if(j==0)
{
maxRow[i]=a[i][j];
}else
{
if(maxRow[i]<a[i][j]){
maxRow[i]=a[i][j];
}
}
}
}
//输出3行3列,每个值除以该行的最大的
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%.2f",a[i][j]/maxRow[i]);//保留2位小数
}
printf(" ");
}
}
运行结果:
1.000.180.27
0.500.501.00
0.751.000.50
‘贰’ C语言二维数组
c语言中直接输出一个二维数组是用数组来访问输出的,例子:
#include<stdio.h>
#defineM4
#defineN3
voidmain()
{
inta[M][N],i,j;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
a[i][j]=3*i+j;
for(i=0;i<M;i++)
{ for(j=0;j<N;j++)
printf("%d ",a[i][j]);//直接用数组来访问
printf("
");
}
}
除了可以直接访问,也可以用指针来访问,用指针指向该数组,便可进行对数组的读写操作。
运行结果图:
‘叁’ C语言编程 二维数组
#include<stdio.h>
#include<stdlib.h>
intcmp(constvoid*a,constvoid*b)
{
return*(int*)a-*(int*)b;
}
intmain()
{
intarr[5][5];
//...
intsum[5];
for(inti=0;i<5;i++)
{
sum[i]=0;
for(intj=0;j<5;j++)
{
sum[i]+=arr[i][j];
arr[i][j]=0;
}
}
qsort(sum,5,sizeof(int),cmp);
for(inti=0;i<5;i++)
arr[i][4-i]=sum[i];
//...
}
‘肆’ C语言写程序二维数组
‘伍’ 急急!!!如何用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语言二维数组实例
以下是几个简单的C语言二维数组实例代码
输出第n行的杨辉三角形:
#include<stdio.h>
voidmain()
{
inti,j,n; inta[100][100]={0};//定义一个二维数组。
scanf("%d",&n);
a[0][1]=1;
for(i=1;i<n;i++)
for(j=1;j<i+2;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
for(i=0;i<n;i++)
{
for(j=1;j<i+2;j++)
printf("%d ",a[i][j]);
printf(" ");
}
}样例输入:5
样例输出:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
将一个n*m矩阵的行和列互换,并输出:
#include<stdio.h>
voidmain()
{
inti,j,n,m;
inta[100][100],b[100][100];
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
scanf("%d",&a[i][j]);
b[j][i]=a[i][j];
}
printf("输出原矩阵: ");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
printf("%d ",a[i][j]);
printf(" ");
}
printf("输出互换后的矩阵: ");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%d ",b[i][j]);
printf(" ");
}样例输入:
2 3
15 46 47
16 3 48
样例输出:
输出原矩阵:
15 46 47
16 3 48
输出互换后的矩阵:
15 16
46 3
47 48
‘柒’ C语言二维数组程序
#include "stdio.h"
int main()
{
int a[3][4];
for (int i=0;i<3;i++)
{
for(int j=0;j<4;j++)
scanf("%d",&a[i][j]);
}
int max = a[0][0];
int maxrow = 0,maxcol =0;
for (int i=0;i<3;i++)
{
for(int j=0;j<4;j++)
if (a[i][j]>max)
{
max = a[i][j];
maxrow = i;
maxcol = j;
}
}
printf("最大值是%d,在第%d行,第%d列\n",max,i,j);
return 0;
}
‘捌’ c语言二维数组
例如对整型二维数组a[3][2]赋值方法一:在定义的同时赋值 int a[3][2]={0};//所有数组元素均为0 方法二: int a[3][2]={1,2,3,4,5,6};//常规的赋值方法方法三: int a[3][2]={{1,2},{3,4},{5,6}};//分行的赋值方法方法四: int a[3][2]={{1,2},{0},{3}};//部分赋值方法,第一行元素的值分别为1,2,第二行元素值都是0,第三行第一个元素值为3,第二个元素值为0 方法五: int a[3][2];/先定义 for(i=0;i<=3;i++) //用双重for循环赋值,i,j表示二维数组下标 for(j=0;j<=2;j++) scanf("%d",&a[i][j]); 希望对你有所帮助。