pat乙级练习记录-1017

题目描述

本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。

输入描述:

输入在1行中依次给出A和B,中间以1空格分隔。

输出描述:

在1行中依次输出Q和R,中间以1空格分隔。

C代码实现:

#include<stdio.h>
#include<string.h>

int main(){
    char A[1000];
    int B;
    int R = 0,Q;
    scanf("%s %d\n", &A, &B);
    
    for(int i = 0;i < strlen(A);i++){
        Q = (R * 10 + A[i] - '0') / B;//手写除法实现,第一次接触还有点懵
        if(!(strlen(A)>1 && i == 0 && Q == 0))
           printf("%d",Q);
        R = (R * 10 + A[i] - '0') % B;
    }
    printf(" %d",R);
    return 0;
}

       说实话,刚开始在牛客网上刷题一点头绪都没有,在网上找别人的博客参考着写的,甚至很多都是原封不动抄过来的,但随着一遍遍敲代码,慢慢的也摸索到了一点门路,相信会一步步变好。欢迎大家共同讨论,一起进步。

       人生如一场修行,得意时,一日看尽长安花,艰难时,潦倒新停浊酒杯,但生命的跋涉不能回头,哪怕畏途巉岩不可攀,也要会当凌绝顶,哪怕无人会登临意,也要猛志固常在,从经典中汲取九万里风鹏正举的力量,历练也无风雨也无晴的豁然,待到重阳日,我们还来就菊花。

                                                                                                                           --撒贝宁

写代码也要陶冶情操啊!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值