类型:转载 责任编辑:asp 日期:2007/03/01
我是一个初学c的新手
有一个问题
*
#*#
*#*#*
#*#*#*#
*#*#*#*#*
.
.
依次排列,
我想的好久也没做出来
请哪位大虾帮忙指点一下
先谢了
推荐阅读
#include <stdio.h>
#define max 20
int print_star(int i);//根据i的值来打印字符
int main()
{
int i,j,tmp;
for(i=0;i<max;i++)//行数
{
for(j=max-i;j>0;j--)
putchar( );//空格
tmp=i%2;//转换开头字符
for(j=tmp;j<=2*i+tmp;j++)
print_star(j+1);
putchar(\n);
}
return 0;
}
int print_star(int i)
{
if(i%2==0)
putchar(#);
else
putchar(*);
return 0;
}
//慢慢学了:)
#include <stdio.h>
#define n 5
void main(void)
{
int i, j;
for(i=1; i<=n; i++) //要打印n行
{
for(j=0; j<n-i; j++) //对第i行先打印前面的n-i个空格
printf(" ");
for(j=1; j<=i*2-1; j++) //然后要打印i*2-1个字符
{
if((i%2)^(j%2)) //根据奇偶性判断需要打印那个字符
printf("#");
else
printf("*");
}
printf("\n");
}
}