当前位置: 代码迷 >> C语言 >> 来做个简单的题
  详细解决方案

来做个简单的题

热度:100   发布时间:2006-08-06 15:30:05.0
来做个简单的题
用户输入一个大写字母,使用嵌套循环产生像下面的金字塔图案(假定输入的是E):
A
ABA
ABCBA
ABCDBCA
ABCDEDBCA

快上班了还没做出来,见笑了.大侠们费费脑.谢
搜索更多相关的解决方案: 字母  金字塔  上班  用户  

----------------解决方案--------------------------------------------------------

这个是金字塔形?


----------------解决方案--------------------------------------------------------
输入一个大写字母:E
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA

如果楼主是这个的,你就看下面的程序.

----------------解决方案--------------------------------------------------------
[UseMoney=2]


#include<stdio.h>

int main()
{
char i,j,c;
printf("输入一个大写字母:");
c=getchar();
for(i='A';i<=c;i++)
{
for(j='A';j<c-i+'A';j++)
{
printf(" ");
}
for(j='A';j<=i;j++)
{
printf("%c",j);
}
j=j-2;
while(j>='A')
{
printf("%c",j);
j--;
}
printf("\n");
}
return(0);
}

[/UseMoney]
----------------解决方案--------------------------------------------------------
int main(void)
{
char ch,q='A';
int i,j,k,n,p;
printf("Input a character:");
ch=toupper(getchar());
n=(int)(ch-'A'+1);printf("n=%d\n",n);
for(i=0;i<n;i++)
{
for(j=0;j<=2*(n-1-i)-1;j++)
printf(" ");
for(p=2*(n-1-i);p<=(4*n-2*i-3)/2;p++,q++)
printf("%c",q);
for(p=(4*n-2*i-1)/2,q--;p<2*n-1;p++)
printf("%c",--q);
printf("\n");
}
return 0;
}
好繁啊,还是楼上的好.
----------------解决方案--------------------------------------------------------
看个答案还要钱!
----------------解决方案--------------------------------------------------------

求人不如靠己,这是在班上想的:
#include<stdio.h>
int main(void)
{
int n,u,m,b;
char ch1,ch2;
printf("Plese enter a char(enter 1 to quit):_\b");
while(scanf("%c",&ch1),ch1!='1')
{
for(n=0;n<=ch1-'A';n++)
{
for(b=ch1-'A';b>n;b--)
printf(" ");
for(u=0,ch2='A';u<=n;u++)
printf("%c",ch2++);
for(m=0,ch2-=1;m<n;m++)
printf("%c",--ch2);
printf("\n");
}
printf("Plese enter a char:_\b");
}
printf("\nDone!");
getchar();
getchar();
return 0;
}


----------------解决方案--------------------------------------------------------

和四楼有点差距.

还没学到getchar putchar


----------------解决方案--------------------------------------------------------
看答案要钱~~严重BS
----------------解决方案--------------------------------------------------------

我写了一个程序,请大家指正!
#include <stdio.h>

int main()
{
int n,i,j,k;
char c;
printf("Please enter a char:\n");
scanf("%c",&c);
n=c-64; //确定层数
if(n<=0||n>26) //确定是否为大写字母
printf("Data is error!\n");
else
{
for(i=0;i<n;i++)//控制打印层数的循环
{
for(j=0;j<2*(n-i-1);j++)//打印空格的循环
printf(" ");
for(k=0;k<=i;k++)//按升序打印字符的循环
printf("%c",65+k);
for(k=i-1;k>=0;k--)//按降序打印字符的循环
printf("%c",65+k);
printf("\n");
}
}
return 0;
}


----------------解决方案--------------------------------------------------------
  相关解决方案