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

11 篇文章 0 订阅

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

#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,则打印出错误消息并再次提示输入除数。

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

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 您好,我是C知道,很高兴为您解答问题。 要两个整数余数,您可以使用C语言中的除法运算符和取模运算符,分别表示为“/”和“%”。 例如,设两个整数分别为a和b,它们的为x,余数为y,则可以用以下代码实现: int a, b, x, y; printf("请输入两个整数:"); scanf("%d %d", &a, &b); x = a / b; // 计算 y = a % b; // 计算余数 printf("%d除以%d的为%d,余数为%d\n", a, b, x, y); 输入两个整数后,程序会计算它们的余数,并输出结果。 希望我的回答能够帮您解决问题,如有任何疑问,欢迎随时提出。 ### 回答2: 要输入两个整数,可以使用input函数进行输入,代码如下: ```python num1 = int(input("请输入一个整数:")) num2 = int(input("请输入第二个整数:")) quotient = num1 // num2 # 求商 remainder = num1 % num2 # 余数 print("两个整数为:", quotient) print("两个整数余数为:", remainder) ``` 运行程序后,会依次提示输入两个整数,并输出它们的余数。 注意,以上代码假设输入两个数都是整数,若输入的不是整数则会报错,需要对输入进行类型检查或异常处理。如果希望程序能够处理浮点数的情况,可以将以上代码进行修改。 ### 回答3: 可以使用python语言编写一个程序来实现输入两个整数他们的余数的功能。代码如下: ```python # 输入两个整数 num1 = int(input("请输入一个整数:")) num2 = int(input("请输入第二个整数:")) # 求商余数 quotient = num1 // num2 # 使用//操作符可以两个数的整除 remainder = num1 % num2 # 使用%操作符可以两个数的余数 # 输出结果 print("为:", quotient) print("余数为:", remainder) ``` 该程序首先会询问用户输入两个整数,然后使用`//`操作符计算两个数的整除,使用`%`操作符计算两个数的余数。最后将余数打印出来。用户只需要在程序提示输入的地方输入对应的整数即可。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值