c语言求高手解答,让程序要求用户输入一个大写字母,使用嵌套循环产生下面这样的金字塔图案。

AABAABCBA。。。。。。。。... A
ABA
ABCBA
。。。。。。。。
展开
 我来答
好名字都被取了
2019-10-06 · TA获得超过422个赞
知道答主
回答量:101
采纳率:90%
帮助的人:5.7万
展开全部

双重循环

#include <stdio.h>
#include<stdlib.h>
 
void PrintPyramid(char c);
 
 main()

    char n;
 
    printf("Please input a capital:\n");
    scanf("%c",&n);
    PrintPyramid(n);
 
    system("pause");
 }
 
//函数功能:输出金字塔
 void PrintPyramid(char c)
 {
    int i=65 , j ;
 
    //第一重循环 :控制行的数量
    for(;i<=c;i++)
    {
        //第二重循环1:控制顺序输出ABC(即前n位字母)
        for(j=65;j<=i;j++)
            printf("%c",j);
 
        //第二重循环2:控制逆序输出BA(即后n-1位字母)
        for(j=i-1;j>=65;j--)
            printf("%c",j);
 
        printf("\n");
    }
 }
505522934
2012-04-14
知道答主
回答量:14
采纳率:0%
帮助的人:2.2万
展开全部
等腰三角形的程序
#include<stdio.h>
#define N 10
#include<stdio.h>
void main()
{
int i,j,n=13;
printf("N=");
while(n>12)
scanf("%d",&n); /*控制输入正确的值以保证屏幕显示的图形正确*/
for(i=0;i<=n;i++) /*控制输出N行*/
{
for(j=0;j<24-2*i;j++) printf(" "); /*控制输出第i行前面的空格*/
for(j=1;j<i+2;j++) printf("%4d",c(i,j)); /*输出第i行的第j个值*/
printf("\n");
}
}

int c(int x,int y) /*求杨辉三角形中第x行第y列的值*/
{
int z;
if((y==1)||(y==x+1)) return 1; /*若为x行的第1或第x+1列,则输出1*/
z=c(x-1,y-1)+c(x-1,y); /*否则,其值为前一行中第y-1列与第y列值之和*/
return z;
}
这个问题与杨辉三角的求法相似,你可以参考一下这个程序。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sjalnd
2018-02-21 · TA获得超过278个赞
知道小有建树答主
回答量:212
采纳率:71%
帮助的人:46.4万
展开全部
#include <stdio.h>
char c;
int main()
{
scanf("%c",&c);
for (int i=1;i<=c-'A'+1;i++)
{
for (int j=0;j<i;j++) printf("%c",'A'+j);
for (int j=i-1;j;j--) printf("%c",'A'+j-1);
printf("\n");
}
}

你看看是不是这个意思

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yypopo19
2017-08-15 · TA获得超过158个赞
知道小有建树答主
回答量:87
采纳率:100%
帮助的人:52.4万
展开全部
#include<stdio.h>
void f(char *a, char *b)
{

while(*a++);
a--;
while(*a++=*b++);

}
void main()
{
int i, j;
char c, x;
scanf("%c", &c);
for(i=1; i<=c-'A'+1; i++)
{
x = 'A';
for(j=1; j<=(2*i-1)/2;  j++)
printf("%c", x++);
for(;j<=2*i-1; j++)
printf("%c", x--);
printf("\n");
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
抄初南57
2020-02-16
知道答主
回答量:1
采纳率:0%
帮助的人:632
展开全部
#include <stdio.h>
int main()
{
int i,m,n;
char t,letter;
printf("请输入大写字母A—Z\n");
scanf("%c",&letter);
printf("您所要的金字塔如下:\n");
for(i=0;i<letter-64;i++)
{
for(t='A',m=letter-64;t<66+i;t++)
{
printf("%*c",m-i,t);
if(t==65) break;
}
for(t='A';t<65+i;t++) printf("%c",t+1);
for(t='A',n=1;t<65+i;t++,n++) printf("%c",65+i-n);
printf("\n");

}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(10)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式