用符号显示菱形图案

本文分享了一种使用C语言绘制菱形图案的方法。通过定义两个函数分别完成菱形上半部分和下半部分的绘制,并利用字符数组进行填充。虽然实现了目标但作者认为代码仍有优化空间,邀请读者共同探讨更简洁的实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

昨天让函数调用以及返回值把我困惑了半天,直到晚上才理解通透。现在看来实在是太简单了!哈哈今天编写了一个函数,用符号(*)来显示出一个图案。尽管是做到了这一点,可是程序还不够简练。所以说请看过文章后的朋友将优化方案评论在下方。大家一起交流进步!
#define _CRT_SECURE_NO_DEPRECATE 1
#include<stdio.h>
#include<stdlib.h>
int lingxingshang(int SL,int SR)
{   
	int i,j,k;
	for(i=0;(i<7);i++)
		{
			char str1[]="*************";
	        char str2[]="             ";
			for(j=0;(j<13);j++)
			{
				if((j<SL)||(j>SR))
			    {
				str1[j]=str2[j];
			     }
			}
			 for(k=0;k<13;k++)
			      {
			       printf("%c ",str1[k]);
			       }
				  printf("\n");
			      SL--;
			      SR ++;     
	    }
	              return 0;
}
int lingxingxia(int XL,int XR)
{

	int i,j,k;

	for(i=0;(i<6);i++)
		{
			char str1[]="*************";
	        char str2[]="             ";
			for(j=0;(j<13);j++)
			{
				if((j<XL)||(j>XR))
			    {
				str1[j]=str2[j];
			       }
			}
			 for(k=0;k<13;k++)
			      {
			       printf("%c ",str1[k]);
			        }
				  printf("\n");
			      XL++;
			      XR --;     
	    }
	              return 0;
}
int main()
{
	lingxingshang(6,6);
	lingxingxia(1,11);
	system("pause");
	return 0;
}

可以不要printf后面的空格,可以的到一个瘦版的菱形


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值