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;
}
}
}
}