1.二維數組初試
#include <stdio.h>
int main( )
{
int i,j;
int a[5][4]= {{0,1},{4,5},{8,9},{12,13},{16,17}}; //创建数组,为数组中的前两列的10个元素赋初值
printf("Enter ten integer number: \n"); //键盘输入后两列10个元素的值
for(i=0;i<5;i++)
{
for(j=2;j<4;j++)
scanf("%d",&a[i][j]);
}
printf("the value in rows : \n"); //按行序优先输出
for(i=0;i<5;i++)
{
for(j=0;j<4;j++)
printf("%5d",a[i][j]);
printf("\n");
}
printf("Multi three times : \n"); //将所有元素值乘以3后保存在数组中
for(i=0;i<5;i++)
{
for(j=0;j<4;j++)
{
a[i][j] *= 3;
printf("%5d",a[i][j]);
}
printf("\n");
}
printf("In row **** : \n"); //按行序优先输出
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
{
printf("%5d",a[j][i]);
}
printf("\n");
}
printf("even number : \n"); //输出数组中的所有偶数
for(i=0;i<5;i++)
{
for(j=0;j<4;j++)
{
if(a[i][j]%2==0)
printf("%5d \n",a[i][j]);
}
}
printf(" i+j is 3 times : \n"); //输出所有行列下标之和为3的倍数的元素值
for(i=0;i<5;i++)
{
for(j=0;j<4;j++)
{
if((i+j)%3==0)
printf("%5d \n",a[i][j]);
}
}
return 0;
}
2.矩陣加法
#include <stdio.h>
int main( )
{
int mx1[4][3]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
int mx2[4][3]={{10,20,30},{40,50,60},{70,80,90},{100,110,120}};
int mx3[][3]={0};
int c,d;
for(c=0;c<4;c++)
{
for(d=0;d<3;d++)
mx3[c][d]=mx1[c][d] + mx2[c][d];
}
for(c=0;c<4;c++)
{
for(d=0;d<3;d++)
printf("%5d",mx3[c][d]);
printf("\n");
}
return 0;
}
3.矩陣乘法
#include <stdio.h>
int main( )
{
int mx1[2][3]={{1,1,0},{2,0,3}};
int mx2[3][4]={{0,2,3,1},{1,0,2,2},{2,1,1,1}};
int mx3[2][4]={0};
int c,d,k;
for(c=0;c<2;c++)
{
for(d=0;d<4;d++)
{
for(k=0;k<3;k++)
mx3[c][d] +=mx1[c][k]*mx2[k][d]; //累加,乘積的和
}
}
for(c=0;c<2;c++)
{
for(d=0;d<4;d++)
printf("%5d",mx3[c][d]);
printf("\n");
}
return 0;
}