c基础(打印出菱形图案)
2012-07-04 00:00
169 查看
方法一:(自个写的用数学方法寻找每行的规律,一次打印一行)有点麻烦
方法二:(分六部分打印)
#include<stdio.h> int main() { int i,j,n,k=0; /********输入一个数用来控制打印出菱形的宽度*********/ scanf("%d",&n); char a[2*n-1][2*n-1]; /*********分两部分打印每次打印出一行**************/ for(i=0;i<n;i++) { for(j=0;j<2*n-1;j++) { if(j>=((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 <stdio.h> 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; }
相关文章推荐
- java用for循环语句打印菱形图案
- 打印菱形图案 / 猴子吃桃问题
- 打印菱形图案——对称和不对称
- 编程成长日记――打印菱形图案
- 面试算法题:打印出如下图案(菱形)
- 【C】打印菱形图案
- 如何使用JAVA打印菱形(三)空心菱形基础上加上对角线
- [Java基础]打印菱形
- 打印这个美丽的菱形图案,简单么?(结果见链接)
- 【java之基础算法】打印菱形
- LingXing.java 题目:打印出如下图案(菱形) * *** ***** ******* ***** *** *
- 打印出菱形图案
- 记录:C#编程打印菱形图案
- 题目:打印出如下图案(菱形)(java)
- 打印出如下图案(菱形)
- 用控制台打印菱形图案(以后面试时或许用得到)
- ACM论坛1.1 打印菱形图案
- 【Ex.】打印出菱形图案的简易方法
- 打印数字菱形图案
- 7-136 打印菱形图案