🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ### 题目描述 1006. 换个格式输出整数 (15) 让我们用字母B来表示“百”、字母S表示“十”,用“12...n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数。例如234应该被输出为BBSSS1234,因为它有2个“百”、3个“十”、以及个位的4。 输入格式:每个测试输入包含1个测试用例,给出正整数n(<1000)。 输出格式:每个测试用例的输出占一行,用规定的格式输出n。 输入样例1: 234 输出样例1: BBSSS1234 输入样例2: 23 输出样例2: SS123 ### 分析(伪代码和知识点) 首先输入任意一个三位数,通过for循环依次求出各个位上的数值(a[0],a[1],a[2]分别为个位,十位,百位),然后通过if判断a[0],a[1],是否大于0,依次按要求输出。 ### 代码 ``` #include<stdio.h> int main() { int n; int a[3]={0}; scanf("%d",&n); int b=0,s=0,i=0; for(i=0;n>0;i++){ a[i]=n%10; n/=10; } if(a[2]>0){ for(i=0;i<a[2];i++){ printf("B"); } } if(a[1]>0){ for(i=0;i<a[1];i++){ printf("S"); } } for(i=1;i<=a[0];i++){ printf("%d",i); } return 0; } ```