html网站编辑器,银川品牌网站建设公司,好网站建设因素,中国免费建站网用二维数组描述图形
首先要计算出整个输出的方框大小#xff0c;从而判定相应关键循环点
#include cstdio
char arr[1000][3000];
int main() {int h;//初始化#xff0c;全部内部填空格while(scanf(%d,h) ! EOF){for (int i 0; i h; i) {f…
用二维数组描述图形
首先要计算出整个输出的方框大小从而判定相应关键循环点
#include cstdio
char arr[1000][3000];
int main() {int h;//初始化全部内部填空格while(scanf(%d,h) ! EOF){for (int i 0; i h; i) {for (int j 0; j 3*h-2; j) {arr[i][j] ;}}//填充梯形从最后一行开始往上填每次少填两个for (int i h-1, begin 0; i 0; --i) {for (int j begin; j 3*h-2; j) {arr[i][j]*;}begin 2;}for (int i 0; i h; i) {for (int j 0; j 3*h-2; j) {printf(%c,arr[i][j]);}printf(\n);}}return 0;
}使用字符串输出
一般的输入输出示例
输入示例
输入一个十进制整数
scanf(%d,n);输入一个字符串
char str[10];
scanf(%s,str);//注意字符和数组可以省略输出示例
输出一个十进制整数
printf(%d,n);输出一个字符串
printf(%s,str);//注意字符和数组可以省略使用字符串输出简化上述代码
每一行需要视作一个字符串需要将相应字符串的末尾加上结束符’\0’
#include cstdio
char arr[1000][3000];
int main() {int h;//初始化全部内部填空格while(scanf(%d,h) ! EOF){for (int i 0; i h; i) {for (int j 0; j 3*h-2; j) {arr[i][j] ;}arr[i][3*h-2] \0;/注意这里的改动,\0用来指示每一行的结束}//填充梯形从最后一行开始往上填每次少填两个for (int i h-1, begin 0; i 0; --i) {for (int j begin; j 3*h-2; j) {arr[i][j]*;}begin 2;}for (int i 0; i h; i) {printf(%s\n,arr[i]);/注意这里的改动直接输出字符串}}return 0;
}图案打印问题的一般思路
申请二维数组一般要是固定大小的放在全局变量的位置根据条件从任意方向开始设置二维数组把图案每一行当作字符串边界后一个位置附‘\0’表示字符串结尾也可以在申请完二维数组后将数组全部初始化为’\0’使用printf、%s循环打印每一行