A - B problem (高精度减法)(2018.12.2)

本文介绍了一个处理非负整数A减去非负整数B的问题,其中A总是大于B。通过分析题目条件,代码首先检查A是否等于B,然后使用for循环进行高精度减法运算。当B的每一位都从A中减去后,若还有余数,继续处理,直到B的所有位都被处理。最终输出A-B的结果。

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

描述:
Now, Give you two intgers A and B , Please calculate the value of A minus B.Attation: A、Band A-Bare all non-negative numbers.
输入:
Each line will contain two integers A and B.Process to end of file.(EOF)
输出:
For each case, Please output the value of A minus B
样例输入:

5 3
4 1

样例输出:

2
3

分析:
首先要读题啊。。。这道题的条件是都为非负数并且A永远大于B。
首先我是分情况来考虑的,输入的两个数组相等或者是不相等的情况,因为直接利用else以后的代码本应输出0的情况会直接空格。
第一部分是利用for循环遍历整个数组(因为A>B所以直接取极值为strlen(m)),利用flag作为计数器,如果flag==strlen(m),则直接输出0
第二部分就是正常的模拟运算了。详情见代码和注释。

代码如下:

#include <stdio.h>
#include <string.h>
int main()
{
    char m[1000],n[1000];
    int i,len1,len2;
    while(scanf("%s%s",&m,&n)!=EOF){
    int flag=0;
    int a[1000]={0},b[1000]={0};
    len1 =st
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值