栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

牛客网BC60 带空格直角三角形图案(重点:多组输入)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

牛客网BC60 带空格直角三角形图案(重点:多组输入)

BC60 带空格直角三角形图案

描述

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的带空格直角三角形图案。

输入描述:

多组输入,一个整数(2~20),表示直角三角形直角边的长度,即“*”的数量,也表示输出行数。

输出描述:

针对每行输入,输出用“*”组成的对应长度的直角三角形,每个“*”后面有一个空格。

示例1

输入:

5

输出:

        * 
      * * 
    * * * 
  * * * * 
* * * * *

由于题目比较简单,我们就直接上代码:

//代码1-常规写法
#include 
int main()
{
    int n = 0;
    while(scanf("%d", &n) != EOF)
    {
        int i = 0;
        //行数控制
        for(i=0; i 

 


题目本身是比较简单的,所以本篇博客,主要是想说明有关多组输入的问题(划重点)

多组输入!!!

根据while循环自身的特点以及EOF所代表的含义,一般采用下面两种方式进行多组输入:

第一种方式:

int i; 

while((scanf("%d",&i))!=EOF)

{

      xxxxxxxxxxxxxxx;

      xxxxxxxxxxxxxxx;

}

  

原理:通过资料易得,scanf进行输入时,若输入不为EOF,则while循环为真,进行循环,然后通过题设再进行后续操作。

 第二种方式:

 int i; 

while(~(scanf("%d",&i)))

{

      xxxxxxxxxxxxxxx;

      xxxxxxxxxxxxxxx;

}

原理:第二种方法是在第一种的基础上进行改造,易得EOF 即为end of file,EOF对应的数为-1,通过原、反 、补码相关知识,负数的原码除符号位之外全部取反,得到反码,在反码的基础上加1,得到补码。

 


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/690633.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号