图案生成

来源:互联网 发布:家谱网站源码带手机版 编辑:程序博客网 时间:2024/05/17 07:47

图案生成(一)

题目描述

Hedy现在对图案生成有着极大的兴趣。比如输入一个大写字母F,将会生成以下图案:

F

FE

FED

FEDC

FEDCB

FEDCBA

输入

多样例输入。每一行只有一个大写字母。

输出

请按描述中的规则生成图案。并且每个样例后输出一空行。

样例输入

BF

样例输出

BBAFFEFEDFEDCFEDCBFEDCBA

#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
int main()
{
   char s;
   int n;
   char x[30];
   while(cin>>s)
   {
  n=s-'A';
  memset(x,'\0',sizeof(x));
       for(int k=0;k<=n;)
       {
  if(x[k+1]!='A')
           {
  x[k]=s-k;
  k++;
  }
  }
  x[n]='A';
       for(int i=0;i<n+1;i++)
       {
           for(int j=0;j<i+1;j++)
           {
               cout<<x[j];
           }
           cout<<endl;
       }
  cout<<endl;
   }
}


图案生成(二)

题目描述

Hedy现在对图案生成有着极大的兴趣。比如输入一个大写字母E,将会生成以下图案:     A    ABA   ABCBA  ABCDCBA ABCDEDCBA

输入

多样例输入。每一行只有一个大写字母。

输出

请按描述中的规则生成图案。每个样例输出后有一空行。

样例输入

BE

样例输出

AABA A ABA ABCBA ABCDCBAABCDEDCBA

#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
int main()
{
   char s;
   int n;
   char x[30];
   while(cin>>s)
   {
  n=s-'A'+1;
  for(int m=0;m<n;m++)
  {
  x[m]='A'+m;
  }
  for(int i=0;i<n;i++)
  {
  for(int j=n-i-1;j>0;j--)
  cout<<" ";
  for(int k=0;k<i+1;k++)
  cout<<x[k];
  for(int k1=i-1;k1>=0;k1--)
  cout<<x[k1];
  cout<<endl;
  }
  cout<<endl;
   }
}

3 0