A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. #include <stdio.h>
  2. void trans(i,R){
  3.         int a[30];
  4.         int j=0,rem;
  5.         //取余数放到数组a中
  6.         do{
  7.                 rem=i%R;i=i/R;
  8.                 a[j]=rem;
  9.                 j++;
  10.         } while(i!=0);
  11.         //倒序输出数组a,并且将大于9的余数变形
  12.         while (j-->0){
  13.                 if(a[j]>9){
  14.                         switch(a[j]){
  15.                                 case 10:{
  16.                                         printf("A");
  17.                                         continue;
  18.                                 }
  19.                                 case 11:{
  20.                                         printf("B");
  21.                                         continue;
  22.                                 }
  23.                                 case 12:{
  24.                                         printf("C");
  25.                                         continue;
  26.                                 }
  27.                                 case 13:{
  28.                                         printf("D");
  29.                                         continue;
  30.                                 }
  31.                                 case 14:{
  32.                                         printf("E");
  33.                                         continue;
  34.                                 }
  35.                                 case 15:{
  36.                                         printf("F");
  37.                                         continue;
  38.                                 }               
  39.                         }
  40.                 }
  41.         printf("%d",a[j]);       
  42.         }
  43. }
  44. int main(int argc, char *argv[]) {
  45.         int i,R;
  46.         printf("请输入一个整数:\n");
  47.         scanf("%d",&i);
  48.         printf("请输入你想转换成的进制数2--16\n");
  49.         scanf("%d",&R);
  50.         trans(i,R);
  51.         return 0;
  52. }
复制代码
妥妥的,费了半天劲

4 个回复

倒序浏览
学习了,谢谢分享
回复 使用道具 举报
也可以调用系统的sprintf()函数,十六进制格式为x%
回复 使用道具 举报
系统只看怎么读,不看怎么存,用scanf和printf应该就可以吧
回复 使用道具 举报
你这个方法挺好的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马