c语言打印菱形


代码1:

int i, j, n;
	 int R = 9;
	 n = -(R - 2) / 2;
	 for (i = 1; i <= R; i++){
		 if (R / 2 == i || R / 2 + 1 == i) continue;
		 if (R / 2 - abs(n) != 0) printf("%*c", R / 2 - abs(n), ' ');

		 n++;
		 for (j = abs((R / 2 + 1) - i) * 2 - 1; j>0; j--){
			 printf("%c", '*');
		 }
		 printf("\n");
	 }

代码2:
 int i, j, n;
	 n = -7 / 2;
	 for (i = 1; i <= 9; i++){
		 if (9 / 2 == i || 9 / 2 + 1 == i) continue;
		 if (3 - abs(n) != 0) printf("%*c", 3 - abs(n), ' ');

		 n++;
		 for (j = abs((9 / 2 + 1) - i) * 2 - 1; j>0; j--){
			 printf("%c", '*');
		 }
		 printf("\n");
	 }



代码:

int i, j, k, n;
	for (i=0,k=-3;i<7;i++,k++)
	{
		if (k <= 0)
		{
			n = k * -1;
		}
		else
			n = k;
		for (j = 0; j < n; j++)
		{
			printf(" ");
		}
		for (j = 0; j < 7 - n * 2; j++)
		{
			printf("*");
		}
		printf("\n");
	}

#include <stdio.h>

#define R 21

int main ()
{
        int i, j;
        
        for(i=0; i<R; i++)
        {
                /*根据行数 计算当前行应该输出 多少个空格*/
                j=abs(R/2-i);  
                
                /*如果为0 则不输出空格*/
                if(j) printf("%*c", j, ' ');
                
                /*打印左边的星号*/
                printf("*");
                
                /*根据行数i计算应该空多少个空格*/
                j=((R/2-j+1))*2-1;
                
                /*前两行和倒数两行 不用输出空格*/
                if(i>=1 && i<=R-2) printf("%*c", j-2, ' ');
                
                /*第一行和倒数第一行不用输出星号*/
                if(i>0 && i<R-1) printf("*");
                
                /*每次循环换行*/
                printf("\n");
        }
}
第二种

#include <stdio.h>

#define R 7

int main ()
{
	int i, j;
	for(i=0; i<R; i++)
	{
		j=abs(R/2-i);
		if(j) printf("%*c", j, ' ');
		printf("*");
		
		j=((R/2-abs(R/2-i)+1))*2-1;
		if(i>=1 && i<=R-2) printf("%*c", j-2, ' ');
		if(i>0 && i<R-1) printf("*");
		printf("\n");
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值