首页 > 其他 > 详细

PAT:1017. A除以B (20) AC

时间:2015-03-06 18:32:07      阅读:219      评论:0      收藏:0      [点我收藏+]
#include<stdio.h>
#include<string.h>

char n[1010];    //暂存输入的大整数字符串
int num[1010];    //暂存可以运算的各位数字
int cnt=0;      //记录数字个数
int chu;      //除数
int main()
{
  scanf("%s %d",n,&chu);
  cnt=strlen(n);
  int yushu=0;            //本位不够除的时候,后位想此位借位
  for(int i=0 ; i<cnt ; ++i)      //每一位变成数字
    num[i]=n[i]-‘0‘;
  bool first=0;            //【caution】记录第一个数字有没有输出,若第一个数字没有输出而要输出的是0,则不输出该0
  for(int i=0 ; i<cnt-1 ; ++i)    //处理前cnt-1位的数
  {
    int tmp=yushu*10+num[i];    //余数数放十位上,加上本位进行运算
    int out=tmp/chu;
    yushu=tmp%chu;
    if(out==0 && first==0)      //首位不输出0
      continue;
    printf("%d",out);
    first=1;            //首位已有非0输出,之后的0可以输出
  }
  //处理最后一位
  int tmp=yushu*10+num[cnt-1];
  printf("%d %d\n",tmp/chu,tmp%chu);
  return 0;
}

PAT:1017. A除以B (20) AC

原文:http://www.cnblogs.com/Evence/p/4318763.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!