http://acm.hdu.edu.cn/showproblem.php?pid=4706
【题目大意】:
用a-z排出N的形状,输出大小为3-10的N,如果超过z之后,重新从a开始
下面是大小为3的N(其实这里的N是反的,呵呵)
a e
bdf
c g
大小为4的N
h n
i mo
jl p
k q
【code】:
#include <iostream>
#include <stdio.h>
#include <string.h> using namespace std; char str[][][];
int cnt; void solve(int id)
{
int n=id,i;
for(i=;i<n;i++)
{
str[id][i][]=cnt%+'a';
cnt++;
}
for(i=n-;i>;i--)
{
str[id][i][n-i-]=cnt%+'a';
cnt++;
}
for(i=;i<n;i++)
{
str[id][i][n-]=cnt%+'a';
cnt++;
}
} void print()
{
int i,j,k;
for(i=;i<=;i++)
{
for(j=;j<i;j++)
{
for(k=;k<i;k++)
{
if(str[i][j][k]>='a'&&str[i][j][k]<='z') putchar(str[i][j][k]);
else putchar(' ');
}
putchar();
}
}
} int main()
{
int i,j,k;
cnt=;
memset(str,,sizeof(str));
for(i=;i<=;i++)
{
solve(i);
}
print();
return ;
}