博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c基础(打印出菱形图案)
阅读量:5820 次
发布时间:2019-06-18

本文共 1143 字,大约阅读时间需要 3 分钟。

hot3.png

方法一:(自个写的用数学方法寻找每行的规律,一次打印一行)有点麻烦

#include
int main(){ int i,j,n,k=0; /********输入一个数用来控制打印出菱形的宽度*********/ scanf("%d",&n); char a[2*n-1][2*n-1]; /*********分两部分打印每次打印出一行**************/ for(i=0;i
=((2*n-1)/2-i)&&j<=((2*n-1)/2+i)) /**寻找每行的规律***/ putchar('*'); else putchar('.'); } putchar(10); } for(i=n;i<2*n-1;i++) { k++;//此变量只是用于找规律而加的一个参数 for(j=0;j<2*n-1;j++) { if(j>=((2*n-1)/2-i+2*k)&&j<=((2*n-1)/2+i-2*k)) putchar('*'); else putchar('.'); } putchar(10); } return 0;}

方法二:(分六部分打印)

 

#include 
int main(){ int i,j; int nu; puts("input your number:");//控制菱形的行数,不是总行数而是到中间的行数 while(1 != scanf("%d",&nu)) getchar();         //分两大部分,每部分再分为三部分 for(i = 0; i < nu; i ++) { for(j = nu - i; j > 0; j --) putchar('.'); for(j = 0; j < 2 * i + 1; j ++) putchar('*'); for(j = nu - i; j > 0; j --) putchar('.'); putchar(10); } for(i = 0; i < nu -1; i ++ ) { for(j = 0;j < i + 2; j ++ ) putchar('.'); for(j = 2 * (nu - i) - 3; j > 0; j -- ) putchar('*'); for(j = 0;j < i + 2; j ++ ) putchar('.'); putchar(10); } return 0;}

转载于:https://my.oschina.net/u/130360/blog/64966

你可能感兴趣的文章
表格排序
查看>>
关于Android四大组件的学习总结
查看>>
java只能的round,ceil,floor方法的使用
查看>>
由于无法创建应用程序域,因此未能执行请求。错误: 0x80070002 系统找不到指定的文件...
查看>>
新开的博客,为自己祝贺一下
查看>>
【CQOI2011】放棋子
查看>>
采用JXL包进行EXCEL数据写入操作
查看>>
一周总结
查看>>
将txt文件转化为json进行操作
查看>>
线性表4 - 数据结构和算法09
查看>>
C语言数据类型char
查看>>
Online Patching--EBS R12.2最大的改进
查看>>
Binary Search Tree Iterator leetcode
查看>>
uva-317-找规律
查看>>
Event事件的兼容性(转)
查看>>
我的2014-相对奢侈的生活
查看>>
zoj 2412 dfs 求连通分量的个数
查看>>
Java设计模式
查看>>
一文读懂 AOP | 你想要的最全面 AOP 方法探讨
查看>>
Spring Cloud 微服务分布式链路跟踪 Sleuth 与 Zipkin
查看>>