文件后缀为pat打开方式(pat格式怎么转换)

PAT乙级-1006换个格式输出整数让我们用字母B来表示“百”、字母S表示“十”,用12…n来表示不为零的个位数字n(输入格式:每个测试输入包含1个测试用例,给出正整数n(输出格

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

代码

#include #include /** *  输出百、十、个 *  w 表示位,0 个位,1 十位,2百位 *  gs表示个数 * */void printBSG(int w, int gs){    //0不用,S十位,B个位    char c[3] = \"0SB\";    if (w == 0)    {        //个位的输出方案        for (int i = 1; i <= gs; i++)        {            printf(\"%d\", i);        }    }    else if (w > 0)    {        //百位和十位的输出方案        for (int i = 0; i < gs; i++)        {            printf(\"%c\", c[w]);        }    }}int main(){    //读入4个数字,小于1000,最大999    char num[4];    scanf(\"%s\", num);    /**     * 方法一:     **/    //如果个数为1位,则直接按照个位的输出方案,输出n到0的数字    //num[0] - \'0\' 将char转为int的方法    if (strlen(num) == 1)    {        printBSG(0, num[0] - \'0\');    }    //2位数,则先输出十位,再输出个位    else if (strlen(num) == 2)    {        printBSG(1, num[0] - \'0\');        printBSG(0, num[1] - \'0\');    }    //3位数,则分别输出百位,再输出十位,再输出个位    else if (strlen(num) == 3)    {        printBSG(2, num[0] - \'0\');        printBSG(1, num[1] - \'0\');        printBSG(0, num[2] - \'0\');    }    /**    * 方法二:    * 如果位数更多,则可以使用循环,调用printBSG函数     **/    /*    //最大的下边索引    int maxIndex = strlen(num) - 1;    for (int i = maxIndex; i >= 0; i--)    {        int index = maxIndex - i;        printBSG(i, num[index] - \'0\');    }    */    return 0;}

提交结果

文件后缀为pat打开方式(pat格式怎么转换)

提交结果

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 97552693@qq.com 举报,一经查实,本站将立刻删除。本文链接:https://m.teaffka.com/n/4911.html

(0)
小智的头像小智
上一篇 2023年 9月 18日
下一篇 2023年 9月 19日

相关推荐

发表回复

登录后才能评论

联系我们

在线咨询: QQ交谈

邮件:97552693@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息