用”*”垒的一个菱形,从第1行到第7行依次是1,3,5,7,5,3,1.但是我每次编译都有错

来源:百度知道 编辑:UC知道 时间:2024/05/21 16:27:32
#include <stdio.h>
void main()
{
for(int i=1;i<=4;i++)
{
for(int j=1;j<=4-i;j++)
{
printf(" ");
}
for(int k=1;k<=2*i-1;k++)
{
printf("*");
}
printf("\n");
}
for(int i=1;i<=3;i++)
{
for(int j=1;j<=i;j++)
{
printf(" ");
}
for(int k=1;k<=7-2*i;k++)
{
printf("*");
}
printf("\n");
}
}

用这个吧,改变N 就可以改变*行数,即棱形大小
我觉得这个代码不错,只用了两个 for 循环
已经把C++改成C了,应该不会错了
#include <stdio.h>

void main()
{
int x,b,N,s;
N=4;//中间行
x=1;
b=N-1;
for(int i=0;i<N*2-1;i++)
{
s=x+b;
for(int j=0;j<s;j++)
{
if(j<b)
{
printf(" ");
}else{
printf("*");
}
}
printf("\n");
if(i<N-1)
{
b-=1;
x+=2;
}else{
b+=1;
x-=2;
}
}
}

那个123123321321国真无耻,综合了我和另一个人的答案就成他的了,鄙视之!!
你好像和我用的是一个教材~~是P66最后一道吗?在P57的例5.7和这题差不多,依葫芦画瓢就好~~下面的是我照着写的,可能不太简练,但绝对好使,上面的仁兄我试验过但是多错了。。。可能是因为我们俩所用的软件定义不同吧。。。。
#include <stdio.h>
void main()
{int k,i,j;
for(i=1;i<4;i++)
{for(k=3;k>=i;k--)printf(" ");
for(j=6;j>7-i*2;j--)printf("*");
printf("\n");}
for(i=0;i<4;i++)
{for(k=1;k<=i;k++)prin