标签:scan amp 程序 需要 就是 例子 利用 题目 int
利用字母可以组成一些美丽的图形,下面给出了一个例子:
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。
输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。
输出n行,每个m个字符,为你的图形。
5 7
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
1 <= n, m <= 26。
代码:
#include <stdio.h>
#include <stdlib.h>
int main() {
int m,n,i,j,k;
scanf("%d %d",&n,&m);
for(i=0;i<n;i++)
{
for(j=i;j>0&&i-j<m;j--)
printf("%c",65+j);
for(k=0;k<m-i;k++)
printf("%c",65+k);
printf("\n");
}
return 0;
}
思考:
忘了ASCⅡ码的输出 刚刚查了一下格式为%c c1(即代码如65)
第一次尝试了嵌套循环里面输出65+j 发现输出的是七个字母递减 结果非题目要求(X)
也是想的很复杂开始。。虽然看出来了前面倒序后面正序 但想的是以数组的形式+if来判断啥时候改成正序
写到第四层循环的时候放弃了。。。开始怀疑有问题
结果百度一下才注意到分界点就是行数 dbq我小学没有学找规律5555
知道行数是边界就很快 一个行的for里嵌套一个逆一个正的for输出就好
需要注意的是边界条件确定 倒序的除开自己的条件还要考虑正序列的大小(i-j<m)(ps:这里有坑到我otz
正序的话我一开始陷入了前面的固定思维 想着一个串接后半部分从中间开始走 初始定的i+1 有些wrong?后面一看嗨呀直接再写个0开头的串了事 反正无空格符哈两个for
这个故事告诉我们脑筋急转弯应该成为程序员的童年必备读物(bushi
基础练习 字母图形
标签:scan amp 程序 需要 就是 例子 利用 题目 int
原文地址:https://www.cnblogs.com/shawu/p/12189756.html