直接上代码,在代码中有对矩阵的学习,包括初始化学习以及如何使用等。
~~~
#include <stdio.h>
/**
* 给出提示,要求输入数组A
* ,通过二维数组,进行数组的转置
* 得出数组B,输出结果
*
* 该实例主要是为了进行学习二维数组
* @brief main
* @return
*/
int main(void)
{
/**
* 二维数组的初始化:
* 1:分行给二维数组赋值
* static int a[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
*
* 2:将所有数据写在一个大括号中
* static int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
*
* 3:对数组进行部分赋值
* static int a[3][4] = {{1},{2},{3}};
* 相当于该数组为
* 1 0 0 0
* 2 0 0 0
* 3 0 0 0
*/
//下面进行实例编写
int row,colume;
printf("Please the number of row and colume of the array(divided by ','):\n");
scanf("%d,%d",&row,&colume); //获取输入的行数和列数
//定义数组A
int array[row][colume];
int i,j;
//获取用户的输入来填充数组A
for(i = 0;i < row;i++){
for(j = 0;j < colume;j++){
printf("Please enter the number in (%d,%d):\n",i,j);
scanf("%d",&array[i][j]);
}
}
//定义数组B
int MatrixB[colume][row];
//进行转置
/**
* 两个数组如果相互转置的话,
* 则一个数组的行等于另一个数组的列
* 一个数组的列等于另一个数组的行
* 注意:
* 转置之后的矩阵的行数和列数为转置之前的列数和行数
*/
for(i = 0;i < colume;i++){
for(j = 0;j < row;j++){
MatrixB[i][j] = array[j][i];
}
}
//输出矩阵B
for(i = 0;i < colume;i++){
for(j = 0;j < row;j++){
printf("%d\t",MatrixB[i][j]);
}
printf("\n");
}
return 0;
}
~~~
- 前言
- 实例一:HelloWorld
- scanf函数学习
- 实数比较
- sizeof()保留字获取类型的大小
- 自增/自减学习
- C学习if条件判断和for循环
- C实现的九九乘法表
- C实现一个比较简单的猜数游戏
- 使用C模拟ATM练习switch..case用法
- 记录一个班级的成绩练习一维数组
- C数组实现矩阵的转置
- C二维数组练习
- 利用数组求前n个质数
- C实现万年历
- C实现数组中元素的排序
- C实现任意进制数的转化
- C判断一个正整数n的d进制数是否是回文数
- C使用递归实现前N个元素的和
- 钢材切割问题
- 使用指针比较整型数据的大小
- 指向数组的指针
- 寻找指定元素
- 寻找相同元素的指针
- 整数转换成罗马数字
- 字符替换
- 从键盘读入实数
- C实现字符行排版
- C实现字符排列
- C实例--判断一个字符串是否是回文数
- 通讯录的输入输出
- 扑克牌的结构定义
- 使用“结构”统计学生成绩
- 报数游戏
- 模拟社会关系
- 统计文件中字符个数
- C实现两个文件的内容输出到同一个屏幕