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

    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
    
    作者: CHEN, Yue
    单位: 浙江大学
    时间限制: 400 ms
    内存限制: 64 MB

    思路: 注意到测试样例是 n < 1000 的正整数,

        那么n有三种情况,三位数、两位数和一位数,

        根据三种不同的情况,将个位、十位、百位分离,

        存入变量中,最后根据个位、百位、十位的数字进行输出。

     1 /-----------C语言实现-----------/
     2 #include <stdio.h>
     3 
     4 int main(void)
     5 {
     6     int i, num;         //计数变量i,测试样例num 
     7     int one, ten, hundred;  //个位、十位、百位
     8     
     9     
    10     scanf("%d", &num);
    11     //根据三种情况分离个位、十位、百位
    12     if (num >= 100)
    13     {
    14         one = num % 10;
    15         ten = (num / 10) % 10;
    16         hundred = num / 100;
    17     }
    18     else if (num >= 10)
    19     {
    20         one    = num % 10;
    21         ten = num / 10;
    22     }
    23     else
    24     {
    25         one = num;
    26     }
    27     
    28     //根据不同的情况进行输出
    29     if (num >= 100)
    30     {
    31         for (i = 0; i < hundred; i++)
    32         {
    33             printf("B");
    34         }
    35     }
    36     if (num >= 10)
    37     {
    38         for (i = 0; i < ten; i++)
    39         {
    40             printf("S");
    41         }
    42     }
    43     for (i = 1; i <= one; i++)
    44     {
    45         printf("%d", i);
    46     }
    47 
    48     
    49     return 0;
    50 }
  • 相关阅读:
    js看懂funid与funname各自的作用以及回显示是怎么找到对应位置的
    居然脑海中还记得03年的瑞星升级ID号
    [恢]hdu 2186
    [恢]hdu 2109
    [恢]hdu 2140
    [恢]hdu 2160
    [恢]hdu 2101
    [恢]hdu 2162
    [恢]hdu 2201
    [恢]hdu 2163
  • 原文地址:https://www.cnblogs.com/DylanLiuH2O/p/11190898.html
Copyright © 2011-2022 走看看