C语言之——入门必刷题(2)(下)

简介: C语言之——入门必刷题(2)

三、图案输出问题!!

对于图案输出问题,一定要把握它的规律!!即如何通过循环语句实现,或者控制循环次数。

话不多说,先看一个简单的!

思路:


        输出一个直角三角形,输入一个整数n,就会输出一个由n行  *  组成的直角三角形,且第一行有一个* ,第二行有两个*  ........


!! !   那么由此可见,假设输出n=4,那么就会输出一个四行,四列的直角三角形,且每行的个数 与处于第几行 的值 相等。


代码如下:

#include<stdio.h>
int main()
{
    int n=0;
    while(scanf("%d",&n)!=EOF)//针对多组输入的题目
    {
        for(int i=1;i<=n;i++)  //第一个for循环是,循环几行。
        {
            for(int j=1;j<=i;j++)//第二个for循环是一行循环几个
            {
                printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}

所以,找到规律很重要,并且通过规律来控制它的循环次数!接下来,看一个难一点的!

题目链接:

思路:

首先图形是由空格和✳号构成,我们可以直观的看出,空格数为2的倍数,✳是由一开始,每次增加一。

     当输出n=2时,共输出5行,那我们就可以拆开来看

第一部分,第一个循环控制行,第二个循环控制输出!

for(int i=0;i<=n;i++) //输出n,来第一部分控制行数。输出三行!
        {
            for(int j=1;j<=2*n-2*i;j++)   //控制空格数,第一行输出四个,第二行两个,第三行0.
            {
                printf(" ");
            }
            for(int j=1;j<=i+1;j++)       //控制✳号数,第一行输出一个,第二行两个,第三行三个。
            {
                printf("*");
            }
            printf("\n");                //每输出完一行,需要换行。
        }

重点在循环中的终止条件!(j<=2*n-2*i)。

第二部分,第一个循环控制行,第二个循环控制输出!

for(int i=1;i<=n;i++)   //只需输出两行(n行)
        {
            for(int j=1;j<=2*i;j++)   //第一行空格数为2,第二个空格数为4.
            {
                printf(" ");
            }
             for(int j=1;j<=n-i+1;j++) // 第一行星号数位2,第二行数为1.
             {
                 printf("*");
             }
             printf("\n");              //每输出一行,需要换行。
        }

同理可得:第一部分:输出行数:n+1.

                                    第二部分:输出行数 :n.

注意:在第一部分和第二部分中间衔接的时候,星号数是依次减小。

总代码:

#include<stdio.h>
int main()
{
    int n=0;
    while(scanf("%d",&n)!=EOF)
    {
        for(int i=0;i<=n;i++)
        {
            for(int j=1;j<=2*n-2*i;j++)
            {
                printf(" ");
            }
            for(int j=1;j<=i+1;j++)
            {
                printf("*");
            }
            printf("\n");
        }
         for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=2*i;j++)
            {
                printf(" ");
            }
             for(int j=1;j<=n-i+1;j++)
             {
                 printf("*");
             }
             printf("\n");
        }
    }
    return 0;
}

好好思考以后,肯定也有所收获了吧!  那就趁热打铁吧!

总结

相信大家看完以后,也看懂了! 那么这期的C语言入门刷题基础知识点就到这里啦!!

是不是觉得不够,内容太少?

那么就期待下期我们再见吧!!记得三连哦,别到时候找不到俺!

目录
相关文章
|
1月前
|
存储 编译器 C语言
【C语言程序设计——入门】C语言入门与基础语法(头歌实践教学平台习题)【合集】
本文档介绍了C语言环境配置和编程任务,主要内容包括: - **C语言环境配置**:详细讲解了在Windows系统上配置C语言开发环境的步骤。 - **第1关:程序改错**:包含任务描述、相关知识(如头文件引用、基本语法规则)、编程要求、测试说明及通关代码。 - **第2关:scanf函数**:涉及`scanf`和`printf`函数的格式与使用方法,提供编程要求、测试说明及通关代码。 文档结构清晰,涵盖从环境搭建到具体编程任务的完整流程,适合初学者学习和实践。
51 4
|
1月前
|
C语言
【C语言程序设计——入门】基本数据类型与表达式(头歌实践教学平台习题)【合集】
这份文档详细介绍了编程任务的多个关卡,涵盖C语言的基础知识和应用。主要内容包括: 1. **目录**:列出所有关卡,如`print函数操作`、`转义字符使用`、`数的向上取整`等。 2. **各关卡的任务描述**:明确每关的具体编程任务,例如使用`printf`函数输出特定字符串、实现向上取整功能等。 3. **相关知识**:提供完成任务所需的背景知识,如格式化输出、算术运算符、关系运算符等。 4. **编程要求**:给出具体的代码编写提示。 5. **测试说明**:包含预期输入输出,帮助验证程序正确性。 6. 文档通过逐步引导学习者掌握C语言的基本语法和常用函数,适合初学者练习编程技能。
45 1
|
2月前
|
存储 NoSQL 编译器
【C语言】指针的神秘探险:从入门到精通的奇幻之旅 !
指针是一个变量,它存储另一个变量的内存地址。换句话说,指针“指向”存储在内存中的某个数据。
124 3
【C语言】指针的神秘探险:从入门到精通的奇幻之旅 !
|
4月前
|
C语言
回溯入门题,数据所有排列方式(c语言)
回溯入门题,数据所有排列方式(c语言)
|
4月前
|
安全 编译器 C语言
C++入门1——从C语言到C++的过渡
C++入门1——从C语言到C++的过渡
93 2
|
4月前
|
存储 Java 编译器
初识C语言1——C语言入门介绍
初识C语言1——C语言入门介绍
57 1
|
6月前
|
C语言
C语言------程设设计入门
这篇文章是C语言程序设计的入门教程,涵盖了C程序的实现过程、VC集成开发环境的使用、基本数据类型的使用、格式控制字符的作用,以及通过示例代码演示了如何使用printf()函数输出不同类型的数据。
C语言------程设设计入门
|
6月前
|
NoSQL Java 编译器
C语言从入门到精通该怎样学?
持续学习与实践:编程是一门需要不断学习和实践的技能,要保持对新技术和新知识的敏感性,并持续进行编程实践。
75 1
|
7月前
|
编译器 C语言 C++
C++从遗忘到入门问题之C++持从C语言的过渡问题如何解决
C++从遗忘到入门问题之C++持从C语言的过渡问题如何解决
|
7月前
|
存储 Java C语言
【C语言入门】初识C语言:掌握编程的基石
【C语言入门】初识C语言:掌握编程的基石
87 4
【C语言入门】初识C语言:掌握编程的基石

热门文章

最新文章