PAT Basic Level 1022. D进制的A+B (20)

来源:互联网 发布:淘宝qb充值到一半 编辑:程序博客网 时间:2024/05/16 01:06

【来源】

1022. D进制的A+B(20)

【分析】

此题考察进制转换的相关知识。

【代码】

#include <iostream>#include <vector>using namespace std;int main(){  int a, b;  cin >> a >> b;  int d;  cin >> d;  int c = a+b;  if(c == 0){    cout << 0 << endl;  }  else{  vector<int> digits;    while(c){      int digit = c % d;      c /= d;      digits.push_back(digit);    }    for(int i = digits.size()-1; i >=0; --i){      cout << digits[i];    }    cout << endl;  }  return 0;}
【点评】

此题为PAT2014.3.1春季考试第二题,属于简单题。

【附C语言版】

#include <stdio.h>int main(){    int a, b, c, d;    scanf("%d%d%d", &a, &b, &d);    c = a + b;    if (c == 0){        printf("0\n");    }    else{        int digits[30];        int i = 0;        while (c){            int digit = c % d;            c /= d;            digits[i++] = digit;        }        while (i--){            printf("%d", digits[i]);        }        printf("\n");    }    return 0;}



0 0
原创粉丝点击