下面是题目描述
本次采用的方法是直接观察这几行 然后通过具体的例子进行 数学归纳类推
我进行了以下三个步骤进行的操作处理
这里用到的知识点有二维数组
循环 知识点涉及的比较少 但是需要灵活的观察
下面进行代码演示
首先注意一下这个步骤 在对数组初始化的过程中
我们为了满足是自己输入数据
所以我们就进行了动态数组的创建
但是我在Devc++上面的编译通过
但是在visual studio 2019上面不支持
动态数组的创立 但是在c99的标准下面是支持的
所以我选择了Devc++编译器
#includeint main() { int n, m; scanf("%d%d",&n,&m); int array[n][m];//n代表几行 m代表有几列数据在这里创建的所以没有问题int和char是没有 for (int i = 0; i < m; i++) { array[0][i] = i + 65;//进行对第一行数据的初始化 注意char和int其实没有本质区别A的ASCII码值是65 } for (int i = 1; i < n; i++) { for (int j = 1; j < m; j++) { array[i][j] = array[i - 1][j - 1];//这里进行的是错位处理 } array[i][0] = array[i - 1][0] + 1;//这里是对第一列的赋值操作 } for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { printf("%c",array[i][j]);//这里是进行打印操作处理 以%c格式化输出操作 } printf("n");//进行换行 符合题目要求 } return 0; }
下面是不加注释版本
#includeint main() { int n, m; scanf("%d%d",&n,&m); int array[n][m]; for (int i = 0; i < m; i++) { array[0][i] = i + 65; } for (int i = 1; i < n; i++) { for (int j = 1; j < m; j++) { array[i][j] = array[i - 1][j - 1]; } array[i][0] = array[i - 1][0] + 1; } for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { printf("%c",array[i][j]); } printf("n"); } return 0; }
如果大家还有不同的做法可以一起交流一下
这个方法比较笨重 规律比较僵硬



