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

ainer">PAT乙级-1006 换个格式输出整数让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12…n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数 。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4 。
输入格式:【文件后缀为pat打开方式 pat格式怎么转换】每个测试输入包含 1 个测试用例,给出正整数 n(<1000) 。
输出格式:每个测试用例的输出占一行,用规定的格式输出 n 。
输入样例 1:234输出样例 1:BBSSS1234输入样例 2:23输出样例 2:SS123代码
#include <stdio.h>#include <string.h>/** *输出百、十、个 *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,最大999char 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格式怎么转换

文章插图
提交结果


    以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

    「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: