#include <stdio.h>
int main() {
int a;
int b;
if(scanf("%d%d", &a, &b) != 2) {
printf("scanf() failed\n");
return 1;
}
if(b == 0) {
printf("b cannot be 0\n");
return 0;
}
int i = 0;
int z = a;
do {
z -= b;
i++;
} while(z >= 0);
int E = i - 1;
int R = z + b;
printf("E = %d, R = %d\n", E, R);
}
1条答案
按热度按时间cfh9epnr1#
当您在检查
z < 0
之前执行步骤z = z - b
时,do
-while
循环将最自然地Map:正如@Fe2O3所指出的,E和R赋值撤销了最后一步,所以我将重写为
for
-循环,测试我们是否需要在做下一步之前进行下一步。或者简单地实现算法的功能并直接实现它: