#includecstdio
公司主营业务:成都做网站、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出谯城免费做网站回馈大家。
int main()
{
char c='A';
for(int i=1;i=6;i++) // row
{
for(int j=1;j=6-i;j++)
printf(" ");
for(int j=0;ji-1;j++)
{
printf("%c",'A'+j);
}
for(int j=i-3;j=0;j--)
{
printf("%c",'A'+j);
}
puts("");
}
return 0;
}
希望能帮到你!
我又重新改了一下,望采纳
先用楼主的思路走一遍
#include "stdio.h"
void main()
{
char zm[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'};
int i,j=0,k,z; //记住赋初始值
for(i=0;i8;i++) //不是10
{
for(k=6-i;k=0;k--) //改为6
printf(" ");
for(z=0;zi+1;z++) //用Z来循环 ,j自主加就行,之前方法会自动归零
{
printf("%c",zm[j]);
if(zi)
printf(" ");
j++; //自主累加就行
}
printf("\n");
}
}
这个程序还有很多改进方式
1,数组可以去掉,直接用char输出,j初始值等于 65,判断j90时j=48,
#include "stdio.h"
void main()
{
char j=65;
int i,k,z;
for(i=0;i8;i++)
{
for(k=6-i;k=0;k--)
printf(" ");
for(z=0;zi+1;z++)
{
printf("%c",j);
if(zi)
printf(" ");
if(j90)
j++;
else
j=48;
}
printf("\n");
}
}
2,用j作主循环会好点,根据j判断i 会减少一层循环
#include "stdio.h"
void main()
{
char j=1;
int i=1,k=1,s=1;
while(i=8)
{
if(k9-i)
{
printf(" ");
k++;
}
else
{
if(j=s)
{ if(j=26)
printf("%c ",j+64);
else printf("%c ",j+21);
j++;
}
else
{printf("\n");
i=i+1;
s=s+i;
k=1;
}
}
}
}
#include stdio.h
#include math.h
#define N 5
int main()
{
int i,j;
for(i=0;iN;++i)
{
for(j=-(N-1);jN;++j)
{
if(abs(j)=i)
{
putchar('A'+abs(j));
}
else
{
putchar(' ');
}
}
putchar('\n');
}
return 0;
}
可以通过for循环来实现输出金字塔图形。
#includestdio.h
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"); // 一层金字塔输出完毕,换行继续输出下一层
}
}