#include<stdio.h>
void main()
{
int i,j;
for(i=1,j=8;i<12;i+=2,j++)
printf("%*s",j,"***********\n"+(11-i));
}
此程序用于输出:金字塔
朋友,你的看起来好简单啊,可是你知道这个"%*s"代表什么意思啊,i+=2还差不多能想一个道理,在这里j有什么作用啊;对了,这个输出格式在哪里学的,你可不可以讲一个我看看,或者告诉我资料在哪里,我自己去看。
各位朋友都试运行了这个程序了吧,是能得到正确的结果,就是不知道意思,想学这一招也不行啊。对了,他们上面的程序少一个#号,请大家加了了运行,在这里我把加上了。
[此贴子已经被作者于2007-3-28 22:34:33编辑过]
----------------解决方案--------------------------------------------------------
我不是写在18楼吗?
----------------解决方案--------------------------------------------------------
#include <stdio.h>
int main()
{
int blank1,line,blank2;
for (line=1;line<=3;line++)
{
for (blank1=1;blank1<=4-line;blank1++)
printf(" ");
for (blank2=1;blank2<=(2*line-1);blank2++)
if (blank2%2!=0) printf("*");
else printf(" ");
printf("\n");
}
}
修改了楼上一位兄弟的代码,请兄弟别生气.这样应该能看见结果.
----------------解决方案--------------------------------------------------------
lz说的不明确,如果是lz说的那个题目的话,确实是4楼的老邪的最简单,呵呵
----------------解决方案--------------------------------------------------------
一楼的高手请教一下,为什么是blank1=4-line
blank2<=7-2*blank1
----------------解决方案--------------------------------------------------------