C语言 编写一个程序, 对于任意输入的两个整数, 求商和余数

文章讲述了如何在C语言程序中避免除数为零的错误,通过使用do-while循环进行输入验证,确保用户不会输入0作为除数,从而实现安全的除法运算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个挺简单的, 没啥好讲, 直接展示代码

#include <stdio.h>

int main() {
	int a, b;

	printf("请输入第一个整数: ");
	scanf("%d", &a);

	printf("请输入第二个整数: ");
	scanf("%d", &b);

	// 计算商和余数

	printf("商为: %d\n", a / b);
	printf("余数为: %d\n", a % b);

	return 0;
}

虽然简单, 但我依然要挑刺, 我们不难发现, 程序中有一个很致命的bug, 那就是我们在给b赋值的时候, 可以给它赋值一个0, 但众所周知, 0不能作为被除数, 不然就会报错, 那么该怎么解决这个问题的, 我的解决方式是这样的

#include <stdio.h>

int main() {
    int dividend, divisor;
    int quotient, remainder;

    printf("请输入被除数: ");
    scanf("%d", &dividend);

    do {
        printf("请输入除数 (不能为零): ");
        scanf("%d", &divisor);
        
        if (divisor == 0) {
            printf("除数不能为零,请重新输入。\n");
        }
    } while (divisor == 0);

    // 计算商和余数
    quotient = dividend / divisor;
    remainder = dividend % divisor;

    printf("商为: %d\n", quotient);
    printf("余数为: %d\n", remainder);

    return 0;
}

我的解决方式是这样的, 首先先将除数和被除数分开, 之后使用了do-while循环,以确保在用户输入除数为0时要求重新输入。如果用户输入的除数为0,则打印出错误消息并再次提示输入除数。

这样,程序将继续循环,直到用户输入一个非零的除数。然后,计算两个整数的商和余数,并输出结果。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值