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"); } } }