zoukankan      html  css  js  c++  java
  • 杭电2031进制转换

    Problem Description
    输入一个十进制数N,将它转换成R进制数输出。
     
    Input
    输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。
     
    Output
    为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。
     
    Sample Input
    7 2 23 12 -4 3
     
    Sample Output
    111 1B -11
     
     1 #include <stdio.h>
     2 #include <string.h>
     3 #include <cmath>
     4 int a[32];
     5 int main()
     6 {
     7     int N, R, k;
     8     while(~scanf("%d%d", &N, &R))
     9     {
    10         k = 0;
    11         //memset(a, 0, sizeof(a));
    12         if(R > 16 || R < 2 || R == 10)
    13             continue;
    14         if(N < 0)    printf("-");
    15         while(N)
    16         {
    17             a[k++] = abs(N%R);
    18             N = abs(N/R);
    19         }
    20         if(R < 10)
    21         {
    22             for(int j = k-1; j >= 0; j--)
    23                 printf("%d", a[j]);
    24         }
    25         else
    26         {
    27             for(int j = k - 1; j >= 0; j--)
    28                 printf("%X",a[j]);//以十六进制输出 
    29         }
    30         printf("
    ");
    31     }
    32     return 0;
    33 }
  • 相关阅读:
    第07组 Alpha事后诸葛亮
    第07组 Alpha冲刺(4/4)
    第07组 Alpha冲刺(3/4)
    第07组 Alpha冲刺(2/4)
    第07组 Alpha冲刺(1/4)
    2021-7-15
    2021-7-13工作笔记
    第07组 Beta版本演示
    第07组 Beta冲刺(2/4)
    第07组 Beta冲刺(3/4)
  • 原文地址:https://www.cnblogs.com/digulove/p/4721682.html
Copyright © 2011-2022 走看看