C语言(13)蛋蛋的问题(二)

描述

教新生的时候,也是学长们最兴奋的时候,但是只局限于讲课的那位帅帅的学长,在最后一排坐着听课的学长确实无比的苦闷啊,为了让小学弟知道,你们的二进制转换学的很烂,学长为你们创造了这道很难的题,没看错,是很难。。。

二进制的转换很简单,下面是搜搜里面的介绍:

《C语言(13)蛋蛋的问题(二)》《C语言(13)蛋蛋的问题(二)》

这个题可不是求二进制这么简单的,说过了,是很难的。。

下面说问题:对于给出的N个数,求出他们的8进制数或者16进制数,每组数据最前面有标示符,是‘X’,那么就要转换成16进制的书,如果是‘0’,呢么就要转换成8进制,是不是很难啊,还有更难得:注意(输出长度规定为4),可别输错了欧。。。。

输入

有多组数据。
每组数据第一个是一个字符,’0’或者’X’,然后是一个整数N(0<N<=100),接下来是N个整数,每个整数都为小于100的非负整数。

输出

对应每组输入,输出所要求的数据,输出数据为单独一行

样例输入

0 5 2 3 4 5 6
X 5 2 3 4 5 6
0 2 99 98
X 2 99 98
X 2 10 11

样例输出

   2    3    4    5    6 
   2    3    4    5    6 
 143  142 
  63   62 
   A   B
#include <stdio.h>

int main(void)
{
        int i,n,num[100]={0};
        char ch;

        while(~scanf("%c%d", &ch, &n)){

                for(i=0; i<n; i++){
                        scanf("%d", &num[i]);

                        if('0' == ch){
                                printf("%4o", num[i]);
                        }else if('X' == ch){
                                printf("%4X", num[i]);
                        }else{

                        }
                }
                printf("\n");

                /*读取输入的换行符,没有的话八进制无法输出*/
                getchar();
        }
        return 0;
}

 

    原文作者:魔术师发牌问题
    原文地址: https://blog.csdn.net/qq_36288184/article/details/76610984
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞