码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-03-06 18:32:08      阅读:136      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!