用C语言如何编写程序输出以下图形
关注:169答案:3mip版
解决时间 -01-18 16:55
提问者傃顏莄蒾亾
-01-17 19:07
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
最佳答案
二级知识专家妳説啲訫動
-01-17 20:11
#includemain(){for(int i=0;i<8;i++){for(int j=0;j<=i;j++)printf("*");printf("\n");}}我倒,你早说要金字塔的 给你个杨辉三角的吧,这是我初学c的时候做的,就不给你改显示8的了,你自己把输出那里替换成*就可以了。 vc6.0编译的 TC不能用哈,别用错了编译器
#include
#include
#include
void space(int n)//根据需要产生空格
{ int i;
for(i=0;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
{
arrey[x]=next[x];
}
printf("\n");
} }
全部回答
1楼癡情菂尐豬豬
-01-17 22:33
#include
void main()
{
int i,j,k,n;
printf("请输入金字塔的层数:");
scanf("%d",&n);
for(i=0;i
{
for(j=0;j
printf(" ");
for(k=0;k<=2*i;k++)
printf("*");
printf("\n");
}
}
2楼不了解我就别说我变了
-01-17 21:31
不知道你要哪种的 第一种是直角的等腰就是l型:
main()
{
int i,j,s=1;
for(i=1;i<=4;i++)
{
for(j=0;j
printf("%d ",s++);
printf("\n");
}
}
第二种是类似等边的:
main()
{
int i,j,s=1,x;
for(i=1;i<=4;i++)
{
for(x=5-i;x>=1;x--)
printf(" ");
for(j=0;j
printf("%d ",s++);
printf("\n");
}
}
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
→点此我要举报以上信息!←
推荐资讯
大家都在看