PAT-B 1006. 换个格式输出整数
2016-04-27 18:50
573 查看
题目内容:
让我们用字母B来表示“百”、字母S表示“十”,用“12…n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数。例如234应该被输出为BBSSS1234,因为它有2个“百”、3个“十”、以及个位的4。输入格式:每个测试输入包含1个测试用例,给出正整数n(<1000)。
输出格式:每个测试用例的输出占一行,用规定的格式输出n。
输入样例1:
234
输出样例1:
BBSSS1234
输入样例2:
23
输出样例2:
SS123
思路分析:
直接 scanf 读取输入,按照 3字符宽度(%03d) 打印到当做暂存的字符数组 chr 中,从左至右,按顺序处理。输出转换用了 (%.*s) 占位符格式, 星号表示一个 int 类型,作为 sprintf 的参数提供,表示输出的字符串长度。
代码:
#include <stdio.h> int main() { char chr[4], out[3][11] = {"BBBBBBBBB", "SSSSSSSSS", "123456789"}; int n; scanf("%d", &n); sprintf(chr, "%03d", n); for (int i = 0; i < 3; i++) printf("%.*s", chr[i]-48, out[i]); return 0; }
点这里进入试题网页
相关文章推荐
- Css简介
- Java 设计模式- 外观模式
- 为什么在重写equals方法时还必须重写hashcode方法
- MDF结合Learning rate adjust应用
- TimesTen访问Oracle的口令存在哪里(ttCacheUidPwdSet还是OraclePWD)
- linux基础之 创建一个UDP socket
- untiy 3d ShaderLab_第 2 章Unity中Shader(着色器)的形态_2_Unity中Shader的3种形态
- 过来人讲述买房血泪史:什么样的房子不能碰
- 个人博客总结9
- Easy UI 面板
- Java调用浏览器打开网页
- 解决Ubuntu WPS演示全屏闪退(swrast_dri.so: undefined symbol: _glapi_tls_Dispatch)的错误
- php析构函数详解
- swift2.0 学习笔记five
- POJ 3090 Visible Lattice Points
- jquery validate 自定义
- iOS 根据生日计算周龄 —— HERO博客
- java.lang.NoClassDefFoundError: Could not initialize class org.apache.log4j.Log4jLoggerFactory
- windows下安装gulp-sass编译不过去报错的解决方案;
- [暂停学习几天]