c语言字母塔
❶ 求用c语言输出字母金字塔,用递归函数
#include <stdio.h>
void prt(int n,char c)
{if(c>'A')prt(n,c-1);
for(int i=0;i<n+'A'-c;i++)
printf(" ");
for(int i=0;i<=2*(c-'A');i++)
printf("%c",c);
printf(" ");
}
int main()
{char c;
scanf("%c",&c);
if(c>='a'&&c<='z')c-=32;
if(c>='A'&&c<='Z')prt(c-'A',c);
return 0;
}
❷ 如何用C语言编写一个字母塔
看你字母塔有什么要求了
比如 由什么字母构成
是否空心
每行递增的规律等等
明确这些之后,就可以利用输出,加上空格占位
再合适的位置 输出合适的字符,从而实现效果。
❸ C语言 菱形字母塔设计
要是贴代码的话,查看方便,修改方便,还能调试。
现在,花时,费力,还不能保证正确:
❹ c语言输出字母金字塔
constcharch='A';
voidoutPut(intn)
{
for(inti=1;i<=n;++i)
{
intk;
//空格
for(k=1;k<=n-i;++k)
putchar('');
//字母
k=i;
while(--k>0)
putchar(ch+k);
putchar(ch);
while(++k<i)
putchar(ch+k);
putchar(' ');
}
}
❺ c语言编写字母塔
#include<stdio.h>
intmain()
{inti,j;
charc='A';
for(i=0;i<7;i++)
{for(j=0;j<7-i;j++)
putchar('');
for(j=0;j<=i;j++)//填j<=i;
putchar(c+i-j);
for(j=j-2;j>=0;j--)//填j>=0;
putchar(c+i-j);
printf(" ");
}
}
❻ c语言要求输入一个字母,输出字母金字塔,要怎么做
#include<stdio.h>
int main()
{int i,j;
char n;
printf("请输入一个大写字母:");
scanf("%c",&n);
for(i=0;i<=n-'A';i++)
{for(j=0;j<n-'A'-i;j++)
printf(" ");
for(j=0;j<=i;j++)
printf("%c",j+'A');
for(j=i-1;j>=0;j--)
printf("%c",j+'A');
printf(" ");
}
return 0;
}
❼ C语言实现字母金字塔输出
#include<stdio.h>
int main()
{
int i=0;
int row=5;
printf("please input row:");
scanf("%d",&row);
for(i=1;i<=row;i++)
{
char ch='A';
int num=0;
for(int j=1;j<2*row;j++)
{
if(j>row-i)
{
if(num<2*i-1)
{
if(j<row)
{
printf("%c",ch++);
}
else
{
printf("%c",ch--);
}
num++;
}
}
else
{
printf(" ");
}
}
printf("\n");
}
return 0;
}
❽ C语言字母金字塔代码求解
九日登望仙台呈刘明府(崔曙)
❾ c语言菱形字母塔代码设计
#include<stdio.h>
intmain()
{intn,i,j;
chara='A';
printf("请输入你想要的三角形塔高度:");
while(scanf("%d",&n)==1)
{for(i=1;i<=n;i++)
{for(j=1;j<=n-i;j++)
printf("");
for(j=0;j<i;j++)
printf("%c",a+j);
for(j=i-2;j>=0;j--)
printf("%c",a+j);
printf("
");
}
for(i=n-1;i>0;i--)
{for(j=1;j<=n-i;j++)
printf("");
for(j=0;j<i;j++)
printf("%c",a+j);
for(j=i-2;j>=0;j--)
printf("%c",a+j);
printf("
");
}
printf("请输入你想要的三角形塔高度:");
}
return0;
}
❿ c语言字母金字塔怎么输出如下图
先用楼主的思路走一遍
#include"stdio.h"
voidmain()
{
charzm[36]={'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','0','1','2','3','4','5','6','7','8','9'};
inti,j=0,k,z;//记住赋初始值
for(i=0;i<8;i++) //不是10
{
for(k=6-i;k>=0;k--) //改为6
printf("");
for(z=0;z<i+1;z++)//用Z来循环,j自主加就行,之前方法会自动归零
{
printf("%c",zm[j]);
if(z<i)
printf("");
j++;//自主累加就行
}
printf(" ");
}
}
这个程序还有很多改进方式
1,数组可以去掉,直接用char输出,j初始值等于 65,判断j>90时j=48,
#include "stdio.h"
void main()
{
char j=65;
int i,k,z;
for(i=0;i<8;i++)
{
for(k=6-i;k>=0;k--)
printf(" ");
for(z=0;z<i+1;z++)
{
printf("%c",j);
if(z<i)
printf(" ");
if(j<90)
j++;
else
j=48;
}
printf(" ");
}
}
2,用j作主循环会好点,根据j判断i 会减少一层循环
#include "stdio.h"
void main()
{
char j=1;
int i=1,k=1,s=1;
while(i<=8)
{
if(k<9-i)
{
printf(" ");
k++;
}
else
{
if(j<=s)
{ if(j<=26)
printf("%c ",j+64);
else printf("%c ",j+21);
j++;
}
else
{printf(" ");
i=i+1;
s=s+i;
k=1;
}
}
}
}