poj1102+每个数字有七笔画每行扫描+注意细节每个样例后要有两个回车
2015-08-08 18:10
381 查看
#include<stdio.h> #include<stdlib.h> #include<string.h> char n1[11] = { "- -- -----" }; char n2[11] = { "| ||| ||" }; char n3[11] = { "||||| |||" }; char n4[11] = { " ----- --" }; char n5[11] = { "| | | | " }; char n6[11] = { "|| |||||||" }; char n7[11] = { "- -- -- --" }; int main() { int s = 0, i = 0, j = 0, k = 0, digit = 0, len = 0; char n[10]; while (scanf("%d%s", &s, n)) { if (s == 0 && n[0] == '0') break; len = strlen(n); for (i = 0; i < len; i++) { digit = n[i] - '0'; printf(" ");//每个数字第一个都是空格,编译竖向 for (j = 0; j < s; j++) { printf("%c", n1[digit]); } printf(" ");//末尾是两个空格 } printf("\n"); for (i = 0; i < s; i++)//竖着是先来个数扫 { for (j = 0; j < len; j++) { digit = n[j] - '0'; printf("%c", n2[digit]);//左边空格换了 for (k = 0; k < s; k++) { printf(" "); } printf("%c", n3[digit]);//右边空格换了 printf(" "); } printf("\n"); } for (i = 0; i < len; i++) { digit = n[i] - '0'; printf(" ");//每个数字第一个都是空格,编译竖向 for (j = 0; j < s; j++) { printf("%c", n4[digit]); } printf(" ");//末尾是两个空格 } printf("\n"); for (i = 0; i < s; i++) { for (j = 0; j < len; j++) { digit = n[j] - '0'; printf("%c", n5[digit]); for (k = 0; k < s; k++) { printf(" "); } printf("%c", n6[digit]); printf(" "); } printf("\n");//竖着扫的时候注意回车位置 } for (i = 0; i < len; i++) { digit = n[i] - '0'; printf(" ");//每个数字第一个都是空格,编译竖向 for (j = 0; j < s; j++) { printf("%c", n7[digit]); } printf(" ");//末尾是两个空格 } printf("\n"); printf("\n"); } return 0; }
相关文章推荐
- DZY Loves Chessboard (周赛2)
- Java--异常
- i9100 G刷机
- C# 结构体
- ibatis的queyrForList和queryForMap区别
- Grand Central Dispatch 基础教程:Part 2/2
- linux insmod error ko文件
- LeetCode—二叉树的遍历
- java.lang.ClassNotFoundException: com.sun.mail.util.MessageRemovedIOException
- STL(2)---<ulitiy>
- Grand Central Dispatch 基础教程:Part 1/2
- 架构师速成-如何高效编程
- HADOOP生态系统
- 5次Shift会触发粘滞键的妙用(转)
- c#中的事件
- java中的加密算法
- JVM创建对象
- 逻辑回归(Logistic Regression)
- LPS HDOJ 4745 Two Rabbits
- 几道周赛题目(bfs,dfs,kmp,快速幂运算,并查集)