问题描述
问题描述利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。输入格式输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。输出格式输出n行,每个m个字符,为你的图形。样例输入57样例输出ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC数据规模与约定1<=n,m<=26。importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){chars[]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','p','Q','R','S','T','U','V','W','X','Y','Z'};Scannersc=newScanner(System.in);intn=sc.nextInt();intm=sc.nextInt();sc.close();for(inti=0;i<n;i++){for(intj=0;j<m;j++){System.out.print(s[Math.abs(j-i)]);}System.out.println();}}}
解决方案
解决方案二:
解决方案三:
n行m列,A开始,往后+到m-1个字符(可以考虑用ASCII码直接加),然后这第一行为基础。第2行,取第1行的第2个字符作为首字符,后面用第1行来补全后面的m-1个字符。第3行,取第1行的第3个字符作为首字符,后面用第2行来补全后面的m-1个字符。...第x行,取第1行的第x个字符作为首字符,后面用第x-1行来补全后面的m-1个字符(1<x≤n)。代码就不难搞定了吧
解决方案四:
没有看到错阿
解决方案五:
我这代码为啥在oj上只得了30分,我想知道是那部分出问题了?
解决方案六:
这个题目好像是蓝桥杯的练习系统的题目。这个题目中有个疑问,那就是行数n是否是n<=m。如果有n>m的情况,这个题目就可能有两种情况。
解决方案七:
引用4楼u011670757的回复:
我这代码为啥在oj上只得了30分,我想知道是那部分出问题了?
不需要定义数组试试看下面这个staticvoidoutput(intn,intm){finalcharSTART='A';for(inti=0;i<n;++i){for(intj=0;j<i;++j){System.out.print((char)(START+i-j));}for(intj=i;j<m;++j){System.out.print((char)(START+j-i));}System.out.println();}}