① 请用c语言编写字母金字塔
推荐答案有错误,其输出结果为:
A
B B
C C C
而你要的是:
A
B B B
C C C C C
回答者: linghuxiaocong 的也不对,缺少输入
我把推荐的改了下,符合你的要求
#include<stdio.h>
int main()
{ int i,j,n;
scanf("%d",&n);
while(n>=1)
{if(n>26)n=26;
for(i=1;i<=n;i++)
{for(j=1;j<=n-i;j++)printf(" ");
for(j=1;j<=2*i-1;j++)printf("%c ",i+'A'-1);
printf("\n");}
scanf("%d",&n);
}
system("PAUSE");
}
② 求C语言金字塔代码思路!
这个图形有几行,就做几次循环,每次循环打印一行:for ( i=0;i<N;i++ ),N=3
注意i在3行中取值:0,1,2
循环体中输出每行,每行的构成:分为前边的空格和后面的星号
每行的空格计数:第1行(i=0)空格数2,第2行(i=1)空格数1,第3行(i=2)空格数0
那么在i循环中用i表示的空格数就是:总行数-当前行数-1=N-i-1
在i循环中新开一个循环来输出空格,循环几次输出几个空格
每行的星号计数:第1行(i=0)星号数1,第2行(i=1)星号数3,第3行(i=2)星号数5
那么在i循环中用i表示的星号数就是:当前行数*2+1=i*2+1
在i循环中新开一个循环来输出星号,循环几次输出几个空格
最后每行需要一个换行符号输出
最终你的程序为:
for ( i=0;i<n;i++ ) //这里n是行数
{ for ( j=0;j<n-i-1;j++ ) printf(" "); //可根据不同图形更换j的循环结束条件公式
for ( j=0;j<i*2-1;j++ ) printf("*"); //可根据不同图形更换j的循环结束条件公式
printf("
");
}
这样,这种问题就变成了三个公式的总结问题:行数、空格数、星号数,总结出来套到程序中相应位置即可。总结是可以把i的值、空格的值、星号的值列出来,用一点序列的知识就可归纳出公式。
行号 0,1,2
空格 2,1,0 总行号-行号
星号 1,3,5 行号*2-1,这是等差数列
③ 请问金字塔用C语言怎么编写
给,已经编译运行确认:
#include<conio.h>
#include<stdio.h>
int main()
{
int n,i,j,k;
printf("input n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(k=1;k<=2*(n-i);k++)
printf(" ");
for(j=1;j<=i;j++)
printf("%d ",j);
for(j=i-1;j>0;j--)
printf("%d ",j);
printf("\n");
}
getch();
return 1;
}
④ 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>
#include<stdlib.h>
voidprintblank(inti,intn);//打印每行的空格
voidprintch(intn);//打印字母
intmain()
{
intn;
loop:printf("输入你要金字塔层数n(<10):");
scanf("%d",&n);/*输入金字塔的层数*/
if(n>0&&n<10)/*判断输入的层数有没溢出*/
{
printch(n);//打印金字塔
}
else
{
printf("您的输入有误0<n<27 ");
gotoloop;
}
return0;
}
voidprintblank(inti,intn)/*打印每层前半部和后半部的空格*/
{
while(n-(i++)-1>0)
{
printf("");
}
}
voidprintch(intn)
{
inti,j;
charstr;
printf("%d层字母金字塔: ",n);
for(i=0;i<n;i++)
{
printblank(i,n);//打印每层前半部分面的空格
for(j=0,str='A';j<2*(i+1)-1;j++)
{
if(j>=i)
printf("%c",str--);
else
printf("%c",str++);
}
printf(" ");//换行
}
}
⑥ 如何用c语言编写这个数字金字塔
#include
void main()
{
int i,j;
for (i=1;i<=3;++i) // 控制金字塔的层数,本例输出3层,可以改变输出任意层
{
for (j=1;j<=3-i;++j) // 控制金字塔每层前面输出的空格数
printf(" ");
for (j=1;j<=2*i-1;++j) // 控制金字塔每层需要打印'*'的个数
printf("*");
printf("\n"); // 一层金字塔输出完毕,换行继续输出下一层
}
}
⑦ C语言只用for循环制作字母金字塔!!
以下是代码:
#include<stdio.h>
voidmain()
{
inti,j;
charc;
scanf("%c",&c);
for(i=0;i<5;i++)
{
for(j=4-i;j>0;j--)
printf("");
for(j=0;j<=i;j++)
printf("%c",c+j);
for(j=i;j>0;j--)
printf("%c",c+j-1);
for(j=4-i;j>0;j--)
printf("");
printf(" ");
}
}
以下是运行截图:
满意请采纳!
⑧ 怎么用c语言中的二维数组完成字母金字塔
字母金字塔有很多种形式,不过输出的原理都是差不多的。
不用二维数组即可实现。如果用二维数组,就是把字母先写到二维数组中,再一次性输出。
以下以一个比较复杂的字母金字塔为例说明:
#include<stdio.h>
intmain()
{
chara[26][26];
intn;
inti,j;
chart;
scanf("%d",&n);
if(n>26||n<=0)return-1;
for(i=0;i<n;i++)
{
for(j=0;j<n-i-1;j++)
a[i][j]='';
t='A'+i;
for(;j<n;j++)
a[i][j]=t--;
t='B';
for(;j<n+i;j++)
a[i][j]=t++;
a[i][j]=0;
}
for(i=0;i<n;i++)
puts(a[i]);
return0;
}
输入10的时候,效果是
⑨ 用c语言编写星型金字塔
#include<stdio.h>
voidmain()
{
inta=0,b=4,c=1,d;
for(a=0;a<3;a++)
{
for(d=0;d<4;d++)putchar('');
for(d=0;d<c;d++)putchar('*');
for(d=0;d<4;d++)putchar('');
b-=2;
c+=2
}
}