当前位置: 首页 > news >正文

打印对称的X。

该代码实现了一个菱形图案的绘制程序。程序通过三个函数分工合作:fun()控制整体流程,fun1()生成图案的每一行(处理左右对称的点星排列),fun2()负责输出图案(分上下半部分对称输出)。用户输入m(星号数量)和n(总宽度)后,程序会先构建上半部分图案数据,再利用对称原理生成下半部分,最终输出完整的菱形图案。其中数学计算确保图案对称性,M常量限制最大处理尺寸为100。


#include<stdio.h>
#include<math.h> 
#define M   100
char arr[M][M+1];
void fun2(int m,int n){// --上半部分 for(int i=0;i<n/2+1;i++){for(int j=0;j<m+n-1;j++){putchar(arr[i][j]);}puts("");}//下半部分 for(int i=0;i<n/2;i++){for(int j=0;j<m+n-1;j++){putchar(arr[n/2-i-1][j]);}puts("");}}
void fun1(int m,int n,int ii){int i = 0; int k;// ------------单行左 for(;i<ii;i++)   //点的个数 arr[ii][i]='.';k=i;for(;k<ii+m;k++)arr[ii][k]='*';i+=m;for(;i<=n/2;i++)arr[ii][i]='.';	// 单行右int l = n;for(i=l;i>=l/2;i--)arr[ii][i]=arr[ii][l-i];
}void fun(int m,int n){for(int i=0;i<n/2+1;i++){fun1(m,n,i);}
}int main(){int m,n;scanf("%d%d",&m,&n);fun(m,n);fun2(m,n);return 0;	
}
#include<stdio.h>
#define M 100char pattern[M][M+1];void generateSymmetricPattern(int m, int n) {int totalSize = n + m - 1;int center = totalSize / 2;// 初始化所有点为'.'for(int i = 0; i < totalSize; i++) {for(int j = 0; j < totalSize; j++) {pattern[i][j] = '.';}}// 只计算第一象限,然后对称到其他三个象限for(int i = 0; i <= center; i++) {for(int j = i; j < i + m && j <= center; j++) {// 在第一象限放置'*'pattern[i][j] = '*';// 对称到其他三个象限pattern[i][totalSize - 1 - j] = '*';           // 第二象限pattern[totalSize - 2 - i][j] = '*';           // 第四象限pattern[totalSize - 2 - i][totalSize - 1 - j] = '*'; // 第三象限}}
}void displayPattern(int m, int n) {int totalSize = n + m -1;for(int i = 0; i < n; i++) {    	for(int j = 0; j < totalSize; j++) {putchar(pattern[i][j]);}putchar('\n');}
}int main() {int m, n;scanf("%d%d", &m, &n);generateSymmetricPattern(m, n);displayPattern(m, n);return 0;	
}

http://www.dtcms.com/a/548784.html

相关文章:

  • 生产管理系统详解:生产产品,bom,生产线,生产工序,bom清单,生产订单,生产任务单,他们之间的关系梳理
  • 企业微信SCRM系统有什么作用,满足哪些功能?从获客到提效的功能适配逻辑
  • JS如何操作IndexedDB
  • 网站正在维护中wordpress 评分
  • Kafka关闭日志,启动一直打印日志
  • 搬家网站建设思路荆门哪里有专门做企业网站的
  • 前后端分离
  • curl开发常用方法总结
  • rust实战:基础框架Rust + Tauri Windows 桌面应用开发文档
  • knife4j在配置文件(xml文件)的配置错误
  • Java的多线程——多线程(二)
  • 小企业也能用AI?低成本智能转型实战案例
  • ros2 播放 ros1 bag
  • 网页设计做一个网站设计之家官方网站
  • 基于STM32单片机 + DeepSeek-OCR 的智能文档扫描助手设计与实现
  • 微信小程序如何传递参数
  • 【数据结构】:数组及特殊矩阵
  • 记录一下微信小程序里使用SSE
  • API 接口安全:用 JWT + Refresh Token 解决 Token 过期与身份伪造问题
  • 云手机搬砖 高效采集资源
  • GitHub Actions CI/CD 自动化部署完全指南
  • Fastlane 结合 开心上架 命令行版本实现跨平台上传发布 iOS App
  • 广东营销网站建设服务公司军事信息化建设网站
  • Go Web 编程快速入门 14 - 性能优化与最佳实践:Go应用性能分析、内存管理、并发编程最佳实践
  • LeetCode每日一题——合并两个有序链表
  • 丽江市建设局官方网站门户网站开发需要多少钱
  • 边缘计算中评估多模态分类任务的延迟
  • 11.9.16.Filter(过滤器)
  • 光储充微电网能量管理系统:构建绿色、高效、安全的能源未来
  • MR30分布式IO在自动上料机的应用