求助
输出11行, *
***
******
。。。。。。。。。。
***
*

搜索菱形应该有的.
提示一下:可以分别考虑上下两部分,两重循环,外循环控制行数,内循环包括空格和*.也可以利用直角坐标系
写上部分:
for(i=1;i<=6;i++)
{
for(j=1;j<=2*6-1;j++)
{
if(j<=6-i||j-6>=i)
printf(" ");
else
printf("*");
}
printf("\n");
}
nuciewth 的上半部分程序没有问题啊.
贴下偶的,请指正,谢谢!
#include <stdio.h>
main()
{
int i,j,k,h;
printf("请输入菱型的高(为奇数):");
scanf("%d",&h);
for(i=0; i<h; i++)
{
k=i;
if(i>h/2)
{
k=h-i-1;
}
for(j=0; j<h; j++)
{
if(j<h/2-k || j-h/2>k)
printf(" ");
else
printf("*");
}
printf("\n");
}
}
楼上的精炼
效率差点,我的如下:
#include "stdio.h"
#define N 11
main(){
int i,j,a;a=-1;
for(i=1;i<=N;i++){
if(i>(N+1)/2)
a--;
else
a++;
printf("\n");
for(j=1;j<=N;j++)
if(j<(N-2*a+1)/2||(j>(N-1)/2+a+1))
printf(" ");
else
printf("*");
}
getchar();
}
[此贴子已经被作者于2006-10-30 10:45:51编辑过]
有没有光标定位函数啊,!~~~~~~~~~~~
#include "stdio.h"
main()
{
int i,j,k;
for(i=1;i<6;i++)
{
for(j=1;j<6-i;j++)
printf(" ");
for(j=1;j<2*i;j++)
printf("*");
printf("\n");
}
for(k=i;k<5+i;k++)
{
for(j=1;j<=k-i+1;j++)
printf(" ");
for(j=4;j>0;j--)
printf("*");
printf("\n");
}
}