(PAT乙级)1017 A除以B(C语言实现)

(PAT乙级)1017 A除以B(C语言实现)

总结:1、i=0的情况和其他时候不一样,可以在循环体之前就单独执行,不需要放到循环体里做判断语句。

           2、模拟手动除法的过程,每次用第一位去除以B,如果得到的商不是0就输出,否则就*10+下一位,直到最后的数为余数。                    即每得到一位商都直接输出,不需要存在数组里在统一输出,因为这样既麻烦又容易出错。  

           3、有一个测试用例很刁钻的是:a字符数组只有1位,所以第一位除以b即使为0也要输出,所以判断是否输出第一位的商的                    判断条件应该有两个:①当字符数组长度大于1位且商不等于0;②字符数组只有1位。    

           4、我一直搞混了for循环的执行顺序,赋予初始值后应该先进行判断是否满足条件才能执行循环体,即:

                 如for循环 如下:

for(int i=0;i<10;i++)

{

    循环体

}

执行顺序是:

  1. i=0  初始化初值

  2. i<10 进行判断,如果条件为真,则继续执行

  3. 执行循环体代码

  4. i++ 变量i自增

  5. 回到第2步,一直循环下去,直到第2步为假, 退出循环.