问题描述
利用字母可以组成一些美丽的图形,下面给出了一个例子:
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。
输入格式
输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。
输出格式
输出n行,每个m个字符,为你的图形。
我的代码
#include<iostream>
#include<algorithm>
#include<bits/stdc++.h>
using namespace std;
int main()
{
char a[26]={'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'};
int n,m;
cin>>n>>m;
int t=-1;
for(int i=0;i<n;i++)
{
t++;
for(int j=0;j<t;j++)
{
cout<<a[t-j];
}
for(int j=0;j<m-t;j++)
{
cout<<a[j];
}
cout<<endl;
}
return 0;
}
结果评测如下:(不知道错在哪里,请各位大佬帮忙指出)
正确答案如下
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int n,m;
char a[27] = {'0','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'};
cin>>n>>m;
for(int i = 0; i < n; ++i)
{
int k = i+1,l = 2;
for(int j = 1; j <= m; ++j)
{
if(k > 0)
{
cout<<a[k];
k--;
}
else
{
cout<<a[l];
l++;
}
}
cout<<endl;
}
return 0;
}