例题
T:给定一个长方形的长和宽(均为不小于1的正整数),以及一个可显示字符,用该字符在屏幕上画出该长方形(空心)
输入要求 :由多行组成,每一个包括两个整数和一个字符,分别表示长,宽和填充字符
输出要求 : 对每一行输出一个长方形
样例输入 :
5 2 @
40 20 *
样例输出 :
@@@@@
@@@@@
****************************************
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
****************************************
本篇针对于初学c语言的小白解决困惑;
相信有很多人在通学字符输入c = getchar()前就接触了scanf循环输入字符的问题;
下面有一个无限次数循环输入字符型变量的病句 :
while(
scanf
(
"%d %d %c",&a,&b,&c)!=EOF)
对于这个句子有很多种解决办法;
对于这个句子有很多种解决办法;
answer1
.首要的是老师都会教的 getchar(); 放入循环;
while
(
scanf
(
"%d %d %c"
,&a,&b,&c)!=EOF){
此处放个
getchar();
getchar();可以读入一个字母数字或者空格回车而不进行任何操作,可以中和
每次输入一组数据后的回车换行同时带来的回车输入;
answer2
:这里我要提的是对scanf输入进行改进;
scanf
(
"%d %d %c"
,&a,&b,&c)
中输入类型之间的空格不止可以使我们可以
如
a b c 一样输入字符;
这里的空格还能中和回车键输入;
scanf
(
" %d %d %c"
,&a,&b,&c);
当在第一个输入类型前加空格“ ”,就能规避打字getchar的效率低下;
ps:如果是有限循环输入,可以直接
scanf
(
"%d %d %c"
,&a,&b,&c),这里规避getchar使用如下;
a b ca b ca 。。。。。。将每组最后一个数据与下一组第一个数据在一起打出;
希望这部帖子能帮助你敲代码的争分夺秒。