色图,快乐。 好了,说正事 在进行输入输出时,我总是搞不清怎么用循环。 这次在做洛谷一道题时,瞬间又傻了。 说实话,我的应用了解,当时只限于 for( ;scanf()!=’\n’; ) ? 就没了。 虽然是知道有一些限制条件放在for 或者while 语句中能实现一些输入格式,但还是不能得起法。
在如何应对若干行的输入输出时, 在看大佬代码时,学到: for( ; ; ) { }
这样一直是执行循环。在百度时,这不是死循环吗。但要注意到一点,for 的内部是可以加上限制条件的,这样做只是为了有个理由执行一下循环。即for的一种写法。 可以用 for( ; ; ) { scanf("%d%d%d",&a,&b,&c); printf("%d%d%d",a,b,c); } 他就能做到想输入几波就输入几波。 所以是输入这个执行条件我们的手中,实现了由我们控制循环。
还学到 while(scanf("%d%d",&a,&b)==2) 该条件是用来判断是否输入是两个, 其实和上面例子一样,还是找理由执行循环,不过限制在三位输入
题目还要求输入一行 并不有输出的输入, 这里我们可以在for中加个判断,让他输出个空,其实就是变相将它扔掉。