http://user.qzone.qq.com/2544414?ADUIN=395093856&ADSESSION=1346805700&ADTAG=CLIENT.QQ.4735_FriendInfo_PersonalInfo.0&ptlang=2052#!app=2&via=QZ.HashRefresh&pos=1306753207

#include "stdio.h"
#include "memory.h"

char temp[128] = {0};

int main()
{
 int i = 1, j = 1;
 int n = 0;

 printf("输入菱形对角线长度: ");
 scanf("%d", &n);
 n = n/2 + 1;

 for (i = 1; i; i += j)
 {
  memset(temp, '*', n);
  memset(temp, ' ', n-i);
  printf("%s%s\n", temp, &temp[n-i+1]);

  if (!(n^i)) j = -1;
 }
 return 0;
}

 

#include<stdio.h>

int main()

{

    char start[1024]={0};

    int x=0,cm=1,i=1,p;

    printf("输入菱形的最大直径(奇数):");

    scanf("%d",&x);

    p=(x>>1) + 1;


 

    while(i)

    {

        memset(start,'*',p+(p&1));

        memset(start,' ',(p-i)+(p&1));

        printf("%s%s\n",start,&start[(p-i)+(p&1)+1]);


 

        if(!(i^p))cm=-1;

        if(!(i+=cm))break;

    }

    system("pause");

    return 1;

}