4x5矩阵

zFIJsS.png

以上需求要求我们输出一个4x5的矩阵。

要输出这种简单的矩阵,我们可以有很多种不同的写法,只需要稍稍改变思路即可。

第一种写法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<stdio.h>
int main(){
//我们注意到矩阵第一行有5个数分别将其定义为变量a,b,c,d,e
int a,b,c,d,e;//声明a,b,c,d,e为整数int类型的变量
a=1;
b=2;
c=3;
d=4;
e=5;//将a,b,c,d,e赋予第一行的对应数值
for(int i=1;i<=4;i++){//矩阵共有4行,运用for循环,循环输出4行
printf("%d\t%d\t%d\t%d\t%d\n",a,b,c,d,e);
//打印输出a,b,c,d,e的值中间间隔一个Tab(%d)在最后回车
a+=1;//根据矩阵图可得第一列的数依次加1
b+=2;//根据矩阵图可得第二列的数依次加2
c+=3;//根据矩阵图可得第三列的数依次加3
d+=4;//根据矩阵图可得第四列的数依次加4
e+=5;//根据矩阵图可得第五列的数依次加5

}
return 0;//返回结果0
}

第二种写法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<stdio.h>
int main(){
int n;//定义列数n为整数int类型的变量
n=0;//赋值;列数为0初始化程序
for(int i=1;i<=4;i++){//循环输出4列
for(int j=1;j<=5;j++){//循环输出5个数
printf("%d\t",i*j);//根据矩阵可得数字的值等于列数乘以行数
n=n+1;//每次循环列数加1
if(n%5==0){
printf("\n");//如果列数达到5则换行
}
}
}
return 0;//返回结果0
}

第三种写法

1
2
3
4
5
6
7
8
9
10
11
12
13
#include<stdio.h>
int main(){
int a;//声明变量a为整数int类型的变量
//a为矩阵的第一个值
a=1;//赋值a等于1
for(int i=1;i<=4;i++){//循环输出4行
printf("%d\t%d\t%d\t%d\t%d\n",a,a*2,a*3,a*4,a*5);
//根据矩阵可得每行的数据为首项乘1,首项乘2,首项乘3,首项乘4,首项乘5。
a++;//首项每行加一

}
return 0;//返回结果0
}

第四种写法*(暂时不需要掌握,用到了数组)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<stdio.h>
int main(){
int arr[4][5]={0};
for(int i=0;i<4;i++){
for(int j=0;j<5;j++){
arr[i][j]=i*5+j+1;
}
}
for(int i=0;i<4;i++){
for(int j=0;j<5;j++){
printf("%d\t",arr[i][j]);
}
printf("\n");
}
return 0;
}

第五种写法

1
2
3
4
5
6
7
8
9
10
#include<stdio.h>
int main(){
for(int i=1;i<=4;i++){//循环输出4行
for(int j=1;j<=5;j++){//循环输出5列
printf("%d\t",i*j);//根据矩阵可得数字的值等于列数乘以行数
}
printf("\n");//5列输出结束后换行,进入下一行循环
}
return 0;//返回结果0
}