用C语言如何编写程序输出以下图形

************************************... * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 展开
 我来答
匿名用户
2013-11-13
展开全部
#include<stdio.h>main(){for(int i=0;i<8;i++){for(int j=0;j<=i;j++)printf("*");printf("\n");}}我倒,你早说要金字塔的 给你个杨辉三角的吧,这是我初学c的时候做的,就不给你改显示8的了,你自己把输出那里猜袭仔替换成*就可以了。 vc6.0编译的 TC不能用哈,别用错了编译器 /*用户输入要显示多少行,并且按格式显示。*/
#include<stdio.h>
#include<time.h>
#include<windows.h>
void space(int n)//根据需要产生空格
{ int i;
for(i=0;i<n;i++)
printf("%3c",' ');
}
void main()
{ time_t t,p;char *str;//显示时间
int i,j,n,m,x;// n==> 要输出几行
int arrey[20]={1};//此数组用于处理第n行的值,next用于处理第n+1行的值
int next[20]={1,1,1,1};//此处只要使next[1]=1就可以了,是因为下面next[1]从来没用到过
//而下面的一个for循环却把next[1]付给了arrey[1],若不让next[1]=1,那马他将是一个未知的值
//因而数组下面的值也就被打乱了产生了未知的值。
p=time(&t);
str=ctime(&p);
MessageBox(0,str,"time",0);//信息框
do
{
printf("\n您想显示多少行?输入(要求小于10):");
scanf("%d",&n);
if(n>10)
printf("\n输入错误!要求是一个小于10的数。\n");
}while(n>10);
for(i=1;i<=n;i++)//
{
space(n-i);//如果有n行,那么第i行开始处就有n-i个空格
arrey[i]=1;//设定每一行的最后一个数为1
for(j=1;j<=i+1;j++)//行内循环
{//if判断是不是每行的第一个数或最后一个数,如果是就输出1

if((j==1)||(j-i==1))
{
printf("%3d",arrey[0]);
printf("%3c",' ');
continue;//条件成立就就继续判断穗汪计算下一个数值
}
next[j]=arrey[j-1]+arrey[j];
printf("%3d",next[j]);
printf("%3c",' ');

}for(x=1;x<j;x++)//两个数组各往下移一行禅信,准备进行下一行的运算
{
arrey[x]=next[x];
}
printf("\n");
} }
匿名用户
2013-11-13
展开全部
用for循环,前边加上空格就会变成金字塔状的了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-13
展开全部
#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");
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式