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

实现十六进制到八进制的转化

时间:2020-03-25 23:02:37      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:div   math   main   bsp   include   转化   span   实现   scan   

#include <stdio.h>
#include <string.h>
#include <math.h>
int main()
{
    int n,i,j,k;
    int e;
    char num[10][100001];
    int sum[10]={0};
    int mon[100001];
    int i1 = 0,j1 = 0;
    scanf("%d",&n);
    //存储 
    for(i = 0;i < n;i ++)
    {
        scanf("%s",num[i]);
    }
    //应用
    for(i = 0;i < n;i ++)
    {
        k = strlen(num[i]);
        //printf("%d",k);
         for(j = 0;num[i][j] != \0;j ++)
         {
             //printf("%d\n",k);
             //printf("%c\n",num[i][j]);
             if(num[i][j] >= 0 && num[i][j] <= 9)
             {
                 sum[i] += pow(16,k - 1) * (num[i][j] - 0);
                 //printf("%d\n",sum[i]);
                 k --;
             }
             else
             {
                 if(num[i][j] == A)
                 {
                     sum[i] += pow(16,k - 1) * 10;
                     k --;
                 }
                 else if(num[i][j] == B)
                 {
                     sum[i] += pow(16,k -1) * 11;
                     k --;
                 }
                 else if(num[i][j] == C)
                 {
                     sum[i] += pow(16,k -1) * 12;
                     k --;
                 }
                 else if(num[i][j] == D)
                 {
                     sum[i] += pow(16,k -1) * 13;
                     k --;
                 }
                 else if(num[i][j] == E)
                 {
                     sum[i] += pow(16,k -1) * 14;
                     k --;
                 }
                 else 
                 {
                     sum[i] += pow(16,k -1) * 15;
                     k --;
                 }
            
                 
             }
         }
         i1 = 0;
         //printf("%d",sum[i]);
         while(sum[i])
         {
             
             e = sum[i] % 8;
             mon[i1] = e;
             sum[i] = sum[i] / 8;
             i1 ++;
         }
         for(j1 = i1 - 1;j1 >= 0;j1 --)
         {
             printf("%d",mon[j1]);
             
         }
                  printf("\n");
     } 
    
    
 } 

 

实现十六进制到八进制的转化

标签:div   math   main   bsp   include   转化   span   实现   scan   

原文地址:https://www.cnblogs.com/xiaobaiyuan/p/12570951.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!