C 语言中用程序输出菱形

来源:百度知道 编辑:UC知道 时间:2024/07/01 08:11:43
编写程序打印n行用”*”组成上下对称的空心菱形。
*
* *
* *
* *
* *
* *
*

输入0或负数退出程序,输入正数一直运行。
#include<stdio.h>
#include <conio.h>

void main()
{
int n,n_half,i,j;
while(1)
{
printf("input n(0 to end):");
scanf("%d",&n);
if(n<=0)
break;
n_half=(n+1)/2;
for(i=0;i<n_half;i++) /*菱形上半部分*/
{
for(j=1;j<n_half-i;j++)
printf(" ");
printf("*");
if(i!=0)
{
for(j=1;j<2*i;j++)
printf(" ");
printf("*");
}
printf("\n");
}

for (i=n_half;i<n;i++) /*菱形下半部分*/
{
if(n%2==0)
j=1;
else j=0;
for(;j<i-n_half+1;j++)
printf(" ");
printf("*");
if (i!=n-1)
{
for(j=1;j<2*(n-i-1);j++)
printf(" ");
printf("*");
}
printf("\n");
}
}
getch();
}

可以用printf直接