c语言小题,求最简洁高效算法
要求显示:*
* *
* *
* *
*
这个是有5行,要求显示n行
n的值要求由用户输入
求最简洁最高效算法。
当然还要判断n必须是奇数
[ 本帖最后由 itma 于 2010-5-7 12:44 编辑 ]
程序代码:#include<stdio.h>
void main()
{
int i,j,k,mid ;
printf("input a number :\n");
scanf("%d",&k);
mid=(k+1)/2;
if(k%2==0)
printf("error,input again \n");
else
{
for(i=1;i<=mid;i++)
{
for(j=1;j<=k;j++)
{
if(mid-(i-1)<=j&&j<=mid+(i-1))
printf("*");
else
printf(" ");
}
printf("\n");
}
for(i=mid+1;i<=k;i++)
{
for(j=1;j<=k;j++)
{
if(mid-(k-i)<=j&&j<=mid+(k-i))
printf("*");
else
printf(" ");
}
printf("\n");
}
}
}