码迷,mamicode.com
首页 > 其他好文 > 详细

基础练习 字母图形

时间:2020-01-13 23:26:51      阅读:77      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!