南哪2022-3-for-a-while

题单介绍

这一章实际上和上一章并没有区别 因为while循环实际上完全可以由for循环替代,除了do-while循环 来简单提一下这两种循环: ```c while (a < b) { a = a + 1; } do { a = a * 2; } while (a < b); ``` while循环很简单,只要括号里的条件成立,它就会一直执行。 do-while唯一不同的地方在于,无论条件成立与否它都会先执行一次,再进行判断。 continue和break语句在while循环中依旧适用。 当输入不确定数量的数据时,我们可以通过while循环来实现: ```c while (scanf("%d", &n) != EOF) { /* ---- */ } ``` 还有一个重要的知识点,虽然某CQ并不会严格的证明,但是他告诉同学们,取模运算十分神奇,在运算过程中随时取模,最终得出的结果与只对结果取模是一样的! 以后的题目中可能会出现对某一数字取模的情况,这很有可能是运算过程中产生的结果可能过大,需要同学们及时对各个数据进行取模。 到这里就不得不提一嘴:很多同学遇到了自己检查不出来却实际上超出了变量可存储范围的运算,所以某CQ请各位同学们在进行变量相加或者相乘的时候,注意观察题目的数据范围思考在最坏的情况下自己的算式会不会有某个地方超出了变量的存储范围,如果是,则需要对自己的算式进行一定的修改,比如将除法提前。

题目列表

  • [USACO06DEC] 梦中的统计 Dream Counting B
  • 统计天数
  • 爱与愁的心痛
  • 禽兽的传染病
  • 月落乌啼算钱(斐波那契数列)
  • [NOIP 2011 普及组] 数字反转
  • 【深基4.例4】一尺之棰
  • [USACO09OCT] Even? Odd? G