比如10/3=3。。。。1
运算过程为10-3=7
7-3=4
4-3=1
10 和 3 为变数。
应该用if while 句型还是 do。。。while?或者说for?
int main()
{
int x = 18;
int y = 5;
int i;
for (i = 0; x >= 0; i++, x -= y);
printf("%d ... %d", i - 1, y + x);
}
都可以
循环语句都可以相互转换的,你练手就都写一遍了,给你个while的小例子:
int main()
{
int a = 10, b = 3, c = 0;
while (a>=b)
{
c++;
a -= b;
}
printf("商=%d,余数=%d", c, a);
getchar();
}
其实你说的三种做法,代码量都差不多的,不用纠结这些。 主要是要有好思路。
int main()
{
int x = 10;
int y = 3;
int i = 0;
do { i++; x -= y; } while (x >= 0);
printf("%d ... %d", i - 1, y + x);
}
//有比较运算,先比较后做减法。
int div(int a,int b,int *rem){
///这里只考虑 同号相除
int c=0;
while(a >= b){
a-=b;++c;
}
*rem=a;
return c;
}
///2)无比较运算,只能知道结果正 负 0 ;即只能跟0 比较 ;例如实现大数运算的时候
int div (int a,int b,int *rem)
{
///这里只考虑 同号相除
int c=0;
if(b==0){*rem =a;return -1;}
while((a-=b) >=0){
++c;
}
*rem =a? a + b:a;
return c;
}
while (a>=b)
{
c++;
a -= b;
}
printf("商=%d,余数=%d", c, a);
getchar();
用十来万语句简单点,为了以后能更好的理解for建议还是用for语句,只要是做编程的for在最重的