用C语言编程怎么打出*号金字塔,图案的高度由出入的数字决定。 比如 * *** ***** ******* *********
1.引入头文件#include "stdafx.h"和#include <stdio.h>。
2.写出金字塔自定义函数函数void GoldenTower(){}。
3.在void GoldenTower()函数体内插入如下代码:
//定义循环变量和行变量
int i=0,j=0,line=0;
//提示输入行数
printf("请输入行数:");
//接收行数
scanf("%d",&i);
//行赋值
line=i;
//绘制图形
for(i=0;i<line;i++)
{
//分段一:绘制由空格组成的倒立直角三角形
for(j=0;j<line-i-1;j++)
{
printf(" ");
}
//分段二:绘制由星号组成的右对齐直角三角形
for(j=line-i-1;j<line;j++)
{
printf("*");
}
//分段三:绘制由星号组成的左对齐直角三角形,少一列
for(j=line-i;j<line;j++)
{
printf("*");
}
printf("\n");
}
4.插入主函数并调用自定义函数,细节如下:
void main()
{
//调用金字塔函数
GoldenTower();
}
5.按红叹号,输入行数测试。
//TriangleStars.c
//To compile: cl TriangleStars.c
int main(int argc,char* argv[]){
int n,i,j;
printf("Please input n: ");
scanf("%d",&n);
for(i = 1; i <= n; ++i){
for(j = 1; j <= (2 * n - 1); ++j){
if((j >= (n - (i - 1))) && (j <= (n + (i - 1)))){
printf("*");
}
else{
printf(" ");
}
}
printf("\n");
}
//
return 0;
}
/*
Test result:
F:\highbor\BaiduTest>TriangleStars.exe
Please input n: 3
*
***
*****
F:\highbor\BaiduTest>TriangleStars.exe
Please input n: 7
*
***
*****
*******
*********
***********
*************
*/
7
*
***
*****
*******
*********
***********
*************
13
*
***
*****
*******
*********
***********
*************
***************
*****************
*******************
*********************
***********************
*************************
再贴代码:
#include "stdio.h"
#include "conio.h"
void printJinZT(int n)
{
int i,j;
for(i=1;i<=n;i=i+2)
{
for(j=n;j>=i;j=j-2)
{
printf(" ");
}
for(j=1;j<=i;j++)
{
printf("*");
}
printf("\n");
}
}
main()
{
int n=0;
scanf("%d",&n);
printJinZT(2*n-1);
getch();
}
再写思路:
2层循环
外层控制打印的行数
里层的2个for一个控制前面的空格递减,一个控制星号递增
【高度自己输入就可以了!】
楼主好运!
最后不用return 0;吗?
恩。getch()是用来等你敲下键盘就退出的。return 0;不用也可以的。
这个跟打印金字塔没有多大关系的。