请问下面的图形怎么输出
a
bab
cbabc
dcbabcd
edcbabcde
fedcbabcdef
我只会输出下面的图形
a
aaa
aaaaa
aaaaaaa
aaaaaaaaa
aaaaaaaaaaa
#include "stdio.h"
void main()
{
int i,j; //i代表行号,j代表每行内的星号数,列数
for(i=1;i<=5;i++)
{
for(j=1;j<=5-i;j++)
printf(" ");
for(j=1;j<=2*i-1;j++) //就是下面说的那句
printf("a");
printf("\n"); /*每行输出结束后的换行*/
}
}
还有在上面for(j=1;j<=2*i-1;j++)后面加个“ ;”
程序怎么运行啊
[此贴子已经被作者于2007-4-17 22:27:11编辑过]
----------------解决方案--------------------------------------------------------
循环执行空语句,也就是什么也没做,只是j 变化了.
----------------解决方案--------------------------------------------------------
上面的图是每一行少一个空格,不知怎么高的没显示好
[此贴子已经被作者于2007-4-17 22:30:14编辑过]
----------------解决方案--------------------------------------------------------
#include "stdio.h"
#include"math.h"
void main()
{
int i,j,b;
for(i=1;i<=5;i++)
{
for(j=1;j<=5-i;j++)
printf(" ");
b=i-1;
for(j=1;j<=2*i-1;j++)
printf("%c",(char)((int)'a'+abs(b--)));
printf("\n");
}
}
这个应该可以了,多想想就好了啊
----------------解决方案--------------------------------------------------------
消遣一下:
C-FREE:
main(i){i<=48&&((i%8<7&&(printf(5-i/8 < i%8?"%c":" " ,'g'-i%8),main(i+1),printf(6-i/8 < i%8?"%c":" " ,'h'-i%8))),i%8==1&&(printf("\n"),main(i+8)));}
WIN-TC:
main(i){i<=48&&((i%8<7&&(printf(5-i/8 < i%8?"%c":" " ,'g'-i%8),main(i+1),printf(6-i/8 < i%8?"%c":" " ,'h'-i%8))),i%8==1&&(printf("\n"),main(i+8),i<8&&getch()));}
仅供消遣!!
----------------解决方案--------------------------------------------------------
的确不错,但觉得这种复杂的东西还是少用为妙
----------------解决方案--------------------------------------------------------
所以说是仅供消遣呢
单层循环用递归有的时候是不错的
但是多重循环用递归就显得笨拙起来
----------------解决方案--------------------------------------------------------
#include<stdio.h>
main()
{
int i,j,k;
for(i=1;i<=6;i++)
{
for(k=1;k<=6-i;k++)
printf(" ");
for(j=i;j>=1;j--)
printf("%c",j+96);
for(j=2;j<=i;j++)
printf("%c",j+96);
putchar('\n');
}
}
不知道执行效率怎么样。
[此贴子已经被作者于2007-4-18 21:37:07编辑过]
----------------解决方案--------------------------------------------------------