用C语言如何编写程序输出以下图形
************************************...
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
展开
3个回答
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");
} }
#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");
}
}
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");
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询