洛谷 P1538 迎春舞会之数字舞蹈
大致题意:
给你一个字符串,让你打印出不同大小的字符形式。很鬼畜的一道题,虽然简单但是还是想纪念一下。(刚好拿来磨合一下新键盘哈哈)
思路:
模拟即可。主要是思路一定要捋顺咯,不然会错。
代码
#include<string.h>
#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
int main() {
char ss[200];
int k;
scanf("%d %s",&k,ss);
int lenss = strlen(ss);
for(int i = 0; i < lenss; i++)
ss[i] -= '0';
int ceng = 2*k+3;
// for(int i = 0; i< lenss; i++)
// printf("%d ",ss[i]);
// printf("\n");
int flag = 0;
for(int i = 0; i < ceng; i++) {
if(i%(k+1) == 0) {
if(flag == 0) {
for(int j = 0; j < lenss; j++) {
if(j != 0)
printf(" ");
if(ss[j] == 1 || ss[j] == 4) {
printf(" ");
for(int r = 0; r < k; r++)
printf(" ");
printf(" ");
}
else {
printf(" ");
for(int r = 0; r < k; r++)
printf("-");
printf(" ");
}
}
}
else if(flag == 1) {
for(int j = 0; j < lenss; j++) {
if(j != 0)
printf(" ");
if(ss[j] == 1 || ss[j] == 7 || ss[j] == 0) {
printf(" ");
for(int r = 0; r < k; r++)
printf(" ");
printf(" ");
}
else {
printf(" ");
for(int r = 0; r < k; r++)
printf("-");
printf(" ");
}
}
}
else if(flag == 2) {
for(int j = 0; j < lenss; j++) {
if(j != 0)
printf(" ");
if(ss[j] == 1 || ss[j] == 7 || ss[j] == 4) {
printf(" ");
for(int r = 0; r < k; r++)
printf(" ");
printf(" ");
}
else {
printf(" ");
for(int r = 0; r < k; r++)
printf("-");
printf(" ");
}
}
}
flag++;
}
else {
if(flag == 1) {
for(int j = 0; j < lenss; j++) {
if(j != 0)
printf(" ");
if(ss[j] == 1 || ss[j] == 2 || ss[j] == 3 || ss[j] == 7) {
printf(" ");
for(int r = 0; r < k; r++)
printf(" ");
printf("|");
}
else if(ss[j] == 4 || ss[j] == 8 || ss[j] == 9 || ss[j] == 0) {
printf("|");
for(int r = 0; r < k; r++)
printf(" ");
printf("|");
}
else if(ss[j] == 5 || ss[j] == 6) {
printf("|");
for(int r = 0; r < k; r++)
printf(" ");
printf(" ");
}
}
}
else if(flag == 2) {
for(int j = 0; j < lenss; j++) {
if(j != 0)
printf(" ");
if(ss[j] == 1 || ss[j] == 3 || ss[j] == 4 || ss[j] == 5 || ss[j] == 7 || ss[j] == 9) {
printf(" ");
for(int r = 0; r < k; r++)
printf(" ");
printf("|");
}
else if(ss[j] == 2) {
printf("|");
for(int r = 0; r < k; r++)
printf(" ");
printf(" ");
}
else if(ss[j] == 0 || ss[j] == 6 || ss[j] == 8) {
printf("|");
for(int r = 0; r < k; r++)
printf(" ");
printf("|");
}
}
}
}
printf("\n");
}
return 0;
}