zoukankan      html  css  js  c++  java
  • PAT 乙级 -- 1006 -- 换个格式输出整数

    题目简述

           让我们用字母B来表示“百”、字母S表示“十”,用“12…n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数。例如234应该被输出为BBSSS1234,因为它有2个“百”、3个“十”、以及个位的4。

    输入格式:每个测试输入包含1个测试用例,给出正整数n(<1000)。

    输出格式:每个测试用例的输出占一行,用规定的格式输出n。

    输入样例1
    234

    输出样例1
    BBSSS1234

    输入样例2
    23

    输出样例2
    SS123

    C++代码样例

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <string.h>
    
    using namespace std;
    
    char* calcLenNum(char str[], int num, int& n){
        int len = 0;
        int i = 0,j = 0,k = 0;
        while(num != 0)
        {
            switch(i)
            {
                case 0:     //处理个位
                    for(k = num%10; k > 0; k--)
                    {
                        str[j] = k + 48;
                        j++;
                    }
                    break;
                case 1:    //处理十位
                    for(k = num%10; k > 0; k--)
                    {
                        str[j] = 'S';
                        j++;
                    }
                    break;
                case 2:    //处理百位
                    for(k = num%10; k > 0; k--)
                    {
                        str[j] = 'B';
                        j++;
                    }
                    break;
            }
            num/=10;
            i++;
        }
        n = j;
        return str;
    }
    
    int main(void)
    {
        int i = 0 , j = 0;
        int num = 0;
        int arrayNum = 0;
        char *str = (char*)malloc(50*sizeof(char));
        memset(str,0,sizeof(str));
        scanf("%d",&num);
        str = calcLenNum(str,num,arrayNum);
        for(i = arrayNum-1; i >= 0; i--)
        {
            printf("%c",str[i]);
        }
        return 0;
    }
    
  • 相关阅读:
    nj07---npm
    nj06---包
    nj05---模块
    nj04---事件回调函数
    nj03---阻塞和线程
    nodejs02---demo
    nodejs简介
    【转贴】内存系列一:快速读懂内存条标签
    【转贴】4个你未必知道的内存小知识
    Linux上面mount 域控的目录 超时 然后提示 error的解决办法
  • 原文地址:https://www.cnblogs.com/csnd/p/12897040.html
Copyright © 2011-2022 走看看