怎么用c语言输出金字塔图形?

如题所述

可以通过for循环来实现输出金字塔图形。
#include<stdio.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");  // 一层金字塔输出完毕,换行继续输出下一层
}
}

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2019-08-11

利用C语言输出数字金字塔的操作如下:

例子如下:

直接编译,程序输出结果中输入任意数字,如输入数字8,如下图所示:

本回答被网友采纳
第2个回答  推荐于2019-08-07

c语言输出金字塔图形程序如下:

#include <stdio.h>

#include <ctype.h>

#include <stdlib.h>

void main(){
char a;
int i,j,k,l,m,temp;
scanf("%c",&a);
while(isalpha(a))
{
temp=toupper(a)-'A'+1;
for(i=1;i<=temp;i++)
{
for(j=1;j<=temp-i;j++)
printf(" ");

for(k=0;k<i;k++)
printf("%c",'A'+k);

for(l=i;l>0;l--)
{
if(l==1) break;
else printf("%c",'A'+l-2);
}
for(m=1;m<=temp-i;m++)
printf(" ");
printf("\n");
}
break;
}
system("pause");}

拓展资料:

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器以及超级电脑等作业平台。

本回答被网友采纳
第3个回答  推荐于2018-04-30

可以通过for循环来实现输出金字塔图形。


具体实现方法可以参考如下程序与注释

#include<stdio.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");  // 一层金字塔输出完毕,换行继续输出下一层
    }
}

第4个回答  推荐于2017-10-07
这个你把它当成一个数学题来理解一下,是一个对称图形嘛!!
看成一个坐标把中间位置看成(0,0)点,然后按照|X|+|Y|==Z;的思想去看待这个问题:好好理解!!
例如:A出现的位置是|X|+|Y|==11,B出现的位置是|X|+|Y|==10;然后去解题就OK了
核心代码:

#include<stdio.h>
#include<math.h>
void main()
{
int x,y;//坐标
int shuru;//输入
char shuchu;//输出
scanf("%d",&shuru);
for(x=-shuru+1;x<=shuru-1;x++)//例如输入12,则循环是从-11到11;
{ for(y=-shuru+1;y<=shuru-1;y++)//同上
if(abs(x)+abs(y)<=shuru-1) //如果在输出的图形范围之内
{
shuchu=64+(shuru-(abs(x)+abs(y)));//把数字转换为ASC码,在转换为字符;A的ASC码为64;
printf("%c",shuchu);
}
else //否则输出空格
printf(" ");
printf("\n");//换行
}

}
是否可以解决您的问题?追问

为啥我复制过去编译不出来?运行是空白

本回答被提问者和网友采纳

怎么用c语言输出金字塔图形?
可以通过for循环来实现输出金字塔图形。#include<stdio.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) \/\/ 控制金字塔...

c语言,编写函数,输出用*号组成五行金子塔图形
程序主要分为2个部分,一个部分是输出空格,一个部分是输出星号。具体过程如下:include<iostream>using namespace std;void printBlank(int n){ for (int i = 0; i < n; i++) cout << " ";}void printStar(int n){ for (int i = 0; i < n; i++) cout << "* "...

C语言实现字母金字塔输出
include<cstdio>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;j=0;j--) { printf("%c",'A'+j); } puts(""); ...

如何用C语言程序输出以下图形 \/\/ * *** *** *** *** *** *
C语言程序编写如下:include<stdio.h> void main(){int i,j,k,n;printf("请输入金字塔的层数:");scanf("%d",&n);for(i=0;i<n;i++){for(j=0;j<(n-1-i);j++)printf(" ");for(k=0;k<=2*i;k++)printf("*");printf("\\n");}} 知识延展:掌握c语言的写法之后,就找一些...

C语言中如何用 二维数组输出金字塔形或直角三角形数组?
usingnamespacestd;intmain(){ std::cout<<"Inputnum:";intn;std::cin>>n;inta[10][10];for(inti=1;i<=n;++i){ for(intj=1;j<=i;++j)a[i][j]=1;for(intj=i+1;j<=n;++j)a[i][j]=0;} for(inti=0;i<=n;++i){ for(intj=0;j<=n;++j)if(a[i][j]==1)cou...

c语言字母金字塔怎么输出如下图
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 ...

用for循环制作打印金字塔,金字塔的构成由数字构成第一行一个1,第二...
int main() { int

c语言输出金字塔,共8行,第一行1个,第二行2个,依次类推
include "stdio.h"int main(void){ int i,j; for(i=1;i<9;i++){ for(j=0;j

如何用C语言输出数字金字塔
include"stdio.h"void 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<=2*i-1;j++)printf("%d ",i);printf("\\n");} } ...

c语言要求输入一个字母,输出字母金字塔,要怎么做
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("\\n");} return ...

相似回答