菱形图案打印、水仙花数、买汽水(上)

简介: 菱形图案打印、水仙花数、买汽水(上)

菱形图案打印


题目要求


其实呢这道题很多人想到直接用printf()进行输出,我想说的是,这样写不但麻烦、代码难看,而且实用性极低,所以当我们遇到这种类似循环输出题目是,不建议printf()输出;

接下来我就为大家简单介绍一下此题的做法,对于这类型的题其实我们只需要找到规律,就非常简单,仔细观察图形,可以发现,此图形中是由空格和*按照不同个数的输出组成的。我们这里将这个图案分为两个部分从上往下,按照2*(line-1-i)-1的方式减少,其中:line表示总共有多少行 按照上述方式,将上三角和下三角中的空格和*分别输出即可。



上三角


上三角:先输出空格,后输出*,每行中

 空格:从上往下,一行减少一个


 *:2*i+1的方式递增



代码实现如下


1. int main()
2. {
3.  int line = 0;
4.  int i = 0;
5.  scanf("%d", &line);//可自己选择打印图案的大小
6.  //打印上半部分
7.  for(i=0; i<line; i++)
8.  {
9.    //打印一行
10.     //打印空格
11.     int j = 0;
12.     for(j=0; j<line-1-i; j++)
13.     {
14.       printf(" ");
15.     }
16.     //打印*
17.     for(j=0; j<2*i+1; j++)
18.     {
19.       printf("*");
20.     }
21.     printf("\n");
22.   }


下三角


下三角:先输出空格,后输出*,每行中

 空格:从上往下,每行多一个空格


代码实现如下


1. //打印下半部分
2.  for(i=0; i<line-1; i++)
3.  {
4.    //打印一行
5.    int j = 0;
6.    for(j=0; j<=i; j++)
7.    {
8.      printf(" ");
9.    }
10.     for(j=0; j<2*(line-1-i)-1; j++)
11.     {
12.       printf("*");
13.     }
14.     printf("\n");
15.   }

相关文章
|
7月前
|
编译器
11.14作业(打印图案,乘法表右对齐,圆周率,哥德巴赫猜想)
11.14作业(打印图案,乘法表右对齐,圆周率,哥德巴赫猜想)
|
7月前
|
Python
通过用户输入三角形三边长度
通过用户输入三角形三边长度
|
7月前
|
算法 测试技术 索引
每日一题:LeetCode-611. 有效三角形的个数
每日一题:LeetCode-611. 有效三角形的个数
菱形图案打印、水仙花数、买汽水(下)
菱形图案打印、水仙花数、买汽水(下)
学C的第二十四天【练习:1. 打印菱形;2. 打印自幂数;3. 求Sn=a+aa..n项之和;4. 喝汽水问题;5. 调整数组使奇数位于偶数前面;6. 打印X形图案;7……;8……;9……;10……】-2
5. 调整数组使奇数全部都位于偶数前面 题目: 输入一个整数数组,实现一个函数, 来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分, 所有偶数位于数组的后半部分。
130 0
倒置字符串、猜名次、猜凶手、杨辉三角(下)
倒置字符串、猜名次、猜凶手、杨辉三角(下)
倒置字符串、猜名次、猜凶手、杨辉三角(上)
倒置字符串、猜名次、猜凶手、杨辉三角(上)
|
算法 Python
【每周一坑】​计算100以内质数之和 +【解答】输出三角形
不过如果你有兴趣的话,可以进一步考虑一下你所用方法的算法复杂度是多少,看看谁的方法更简单。
剑指offer 70. 圆圈中最后剩下的数字
剑指offer 70. 圆圈中最后剩下的数字
71 0