前言>>>
嘿嘿,本文要讲的小方法实例使用牛客网的这道题 ↑↑↑ 。怎么样!!? ^ ^
100% 到底是系统太假还是我写得好???
开始>>>
题目:线段图案
描述
KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的线段图案。
输入描述:
多组输入,一个整数(1~100),表示线段长度,即“*”的数量。
输出描述:
针对每行输入,输出占一行,用“*”组成的对应长度的线段。
示例1
输入:
10 2
复制输出:
********** **
停!!!先思考~
思考>>>
“ 切~这题不就求平均数嘛,我早会了!” !!但注意这里要求输入多组数据,这就可以参考我之前发的博客 [C语言] scanf函数详解&多组输入法和gitee自荐 。感兴趣先关注我的也可以看看我的与本文可能有联系的博客,支持一下新人啦^ ^ 大家一起加油,一起学习![C语言] [^ ^]自我介绍、一些建议和我最近在学习的书籍推荐
回到这题,多组输入↑↑↑,然后看到题目要求输入一个数然后打印出 “ * ” 且没说明几次,那么就暗示了他想多输入几次,就一定要用循环了。
for循环详解>>>
对于循环,我推荐for循环,因为for循环比较简洁明了。其语法格式是 for(表达式 1;表达式 2;表达式 3)循环语句;这三个表达式分别代表初始化、判断部分、调整部分。(C语言中单独的变量,常量和式子都是表达式。)
特别的是这三个表达式每个都可以写空语句 ( ;),但要注意每个部分都必须有,初始化可以不发生在循环体内,但判断部分和调整部分如果没有或不在循环体内就会使该循环陷入死循环(即出不来了)。
此题代码>>>
在此题中我们要用输入的数来控制 “ * ” 的数量,那么可以直接用scanf函数输入数量和printf函数直接输出 “ * ” 就好了,只需for循环。来看看我写的代码:
#include<stdio.h>
int main()
{
int a=0; //不懂先点点这里↓↓↓
while((scanf("%d",&a)!=EOF)) // →→→ [C语言] scanf函数详解&多组输入法和gitee自荐
{
for( ;a>0;a--) //注意这里的 a - -
printf("*");
printf("\n");
}
return 0;
}
这里的for循环的初始化部分我就写了空语句。
注意a - -,大多数人习惯了写累加,但如果写成累加这里要这样写(省略其它部分)
int a=0; int b=0;
while((scanf("%d",&a)!=EOF))
for( b=0;b<a;b++)
printf("*");
printf("\n");
可以看出用a++比用a--多使用一个变量,所以我选择a--,你们呢?
下面是在牛客网解这题的图:
关于此题就这么多了。(哈 ……)
但是你还↓↓↓
可以想点别的>>>
有时做减法会更好一些(不止这里)。
最重要的话>>>
不理解的记得私信我哦 ^ ^。
Σσ(・Д・;)我我我什么都没做!!!
(本文暴露了我的…… (捂脸.jpg) 但和你们说最近一个大佬关注我啦!!很开心,第一次被大佬关注,激动激动!! ^ ^ 冲冲冲 )