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

打印菱形图案C语言

C代码实现:

#include <stdio.h>  void printDiamond(int n) {  int i, j, space = n - 1;  // 打印上半部分包括中间行  for (i = 0; i <= n; i++) {  // 打印空格  for (j = 0; j <= space; j++)  printf(" ");  // 打印星号  for (j = 1; j <= 2 * i - 1; j++)  printf("*");  printf("\n");  // 减少空格数量  space--;  }  // 打印下半部分  space = 1;  for (i = 1; i <= n - 1; i++) {  // 打印空格  for (j = 1; j <= space; j++)  printf(" ");  // 打印星号  for (j = 1; j <= 2 * (n - i) - 1; j++)  printf("*");  printf("\n");  // 增加空格数量  space++;  }  
}  int main() {  int n;  printf("Please enter the size of the diamond (odd): ");  scanf("%d", &n);  if(n%2==0) {  printf("Input error! The size of the diamond should be odd.\n");  return -1;  }  printDiamond(n);  return 0;  
}

代码思路:

1.定义一个函数printDiamond,它接受一个整数参数n,表示菱形的大小。

2.定义三个整数变量:ij用于循环,space用于跟踪每一行前面的空格数量。

3.外层循环,从0到n,用于控制菱形的上半部分和中间行。

4.内层循环,用于打印空格。空格的数量由space变量控制,随着循环的进展而减少。

5.另一个内层循环,用于打印星号。星号的数量从1开始,每行增加2。

代码运行结果:

相关文章:

  • C++服务器 支持http、tcp protobuf、websocket,linux开源框架 零依赖轻松编译部署 Reactor
  • SCAU:前一个和后一个字符
  • JAVA代码优化:Easy Excel(操作Excel文件的开源工具)
  • 基于ssm Vue的戒烟网站源码和论文
  • 实时流式计算 kafkaStream
  • 【算法思考记录】力扣2653. 滑动子数组的美丽值【C++,滑动窗口】
  • 【算法】希尔排序
  • HR看好的字符函数和字符串处理函数!!!
  • [MySQL]日期和时间函数
  • 计算机网络体系的形成
  • leetcode977. 有序数组的平方
  • springBoot整合task
  • 【STL】手撕 string类
  • llama.cpp部署通义千问Qwen-14B
  • 五分钟带你看完黑客设备
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • HTTP--网络协议分层,http历史(二)
  • JS题目及答案整理
  • laravel 用artisan创建自己的模板
  • quasar-framework cnodejs社区
  • Spring Cloud中负载均衡器概览
  • Travix是如何部署应用程序到Kubernetes上的
  • webpack4 一点通
  • 好的网址,关于.net 4.0 ,vs 2010
  • 简单实现一个textarea自适应高度
  • 解决iview多表头动态更改列元素发生的错误
  • 前端js -- this指向总结。
  • 前端技术周刊 2019-01-14:客户端存储
  •  一套莫尔斯电报听写、翻译系统
  • 字符串匹配基础上
  • Prometheus VS InfluxDB
  • 树莓派用上kodexplorer也能玩成私有网盘
  • #android不同版本废弃api,新api。
  • #pragma multi_compile #pragma shader_feature
  • (20050108)又读《平凡的世界》
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (分布式缓存)Redis分片集群
  • (转)我也是一只IT小小鸟
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET 材料检测系统崩溃分析
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .NET是什么
  • .NET微信公众号开发-2.0创建自定义菜单
  • .Net组件程序设计之线程、并发管理(一)
  • //解决validator验证插件多个name相同只验证第一的问题
  • @RequestParam,@RequestBody和@PathVariable 区别
  • [ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决
  • [ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149
  • [ACTF2020 新生赛]Upload 1
  • [BJDCTF 2020]easy_md5
  • [BUUCTF]-PWN:wustctf2020_number_game解析(补码,整数漏洞)
  • [BZOJ4337][BJOI2015]树的同构(树的最小表示法)
  • [C# WPF] 如何给控件添加边框(Border)?