给定被除数a和除数b,求整数商及余数。 输入多组样例,每个测试样例一行,每行为两个正整数a、b。(0<a, b<105) 输出商 余数用C语言程序表示用长除法而不用div函数
时间: 2024-10-24 18:13:21 浏览: 30
在C语言中,你可以通过手动模拟长除法的过程来计算给定的被除数a和除数b的整数商q和余数r。下面是一个简单的C程序,展示了如何实现这个功能:
```c
#include <stdio.h>
// 函数用于计算商和余数
void calculate_quotient_remainder(int a, int b, int *quotient, int *remainder) {
*quotient = 0;
*remainder = a;
while (*remainder >= b) { // 当余数大于等于除数时
*quotient += 1; // 商加一
*remainder -= b; // 从余数中减去除数
}
}
int main() {
int a, b, quotient, remainder;
// 循环处理输入的多组样例
for (;;) {
scanf("%d %d", &a, &b);
if (a <= 0 || b <= 0 || a >= 105 || b >= 105) break; // 如果超出范围则结束
calculate_quotient_remainder(a, b, "ient, &remainder); // 计算商和余数
printf("商: %d\n", quotient);
printf("余数: %d\n", remainder);
// 读取下一组数据前换行
printf("\n");
}
return 0;
}
```
这个程序会不断接收用户输入的两个正整数,并输出它们的商和余数。注意,输入限制条件为0<a, b<105,当遇到不符合这个条件的数据时,程序会在跳出循环之前显示结果。
阅读全文