PAT乙级-1017 A除以B-C语言实现(15行AC)

总思路:

用算法模拟除法的过程

考察知识点归纳:

1.对输入整数逐位分析

2.对极端情况进行特别判断

#include<stdio.h>
int main(void){
    int i,t,B;//用t储存每位除去B后的余数
    char A[1001];//题目中输入整数最高为1000位,故只能用字符数组储存
    scanf("%s %d",A,&B);
    for(i=0,t=0;A[i]!='\0';i++){//遍历字符数组
        if(i!=0||(t*10+A[i]-'0')/B)//判断在该位除B后为0的情况下该位是否为首位(因为首位不能为0)
        printf("%d",(t*10+A[i]-'0')/B);
        else if(A[i+1]=='\0')//特例判断输入整数为个位且除B后为0的情况(防止没有输出)
        printf("0");
        t=(t*10+A[i]-'0')%B;//获取该次计算后的余数
    }
    printf(" %d",t);
    return 0;
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西西努力变强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值