zoukankan      html  css  js  c++  java
  • 进制转换,杭电0j-2031

    进制转换,杭电0j-2031原题地址:http://acm.hdu.edu.cn/showproblem.php?pid=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
    【AC代码】
     1 #include<stdio.h>
     2 void print(int num)
     3 {
     4     if(num == 10) printf("%c", 'A');
     5     else if(num == 11) printf("%c", 'B');
     6     else if(num == 12) printf("%c", 'C');
     7     else if(num == 13) printf("%c", 'D');
     8     else if(num == 14) printf("%c", 'E');
     9     else if(num == 15) printf("%c", 'F');
    10     else printf("%d",num);
    11 }
    12 main()
    13 {
    14     int a, b, i, j, flag = 0;
    15     int c[100];
    16     while(~scanf("%d %d", &a, &b))
    17     {
    18         int i = 0;
    19         if(b<2 || b>16 || b==10) break;
    20         if(a<0) a = -a, flag = 1;
    21         while(a)
    22         {
    23             c[i] = a%b;
    24             a = a/b;
    25             i++;
    26         }        
    27         if(flag) printf("-"), flag = 0;    
    28         for(j=i-1; j>=0; j--)
    29         print(c[j]);
    30         printf("
    ");
    31     }
    32 }
  • 相关阅读:
    HTML
    Java 1.8 新特性
    Java 反射
    子网与超网
    Java 网络编程
    Java 单例模式、枚举
    Java 线程生命周期、线程池
    Java 多线程
    Java Properties、流对象关闭格式
    基础练习 十六进制转八进制
  • 原文地址:https://www.cnblogs.com/fightever/p/4339548.html
Copyright © 2011-2022 走看看