普及练习场-字符串处理-P1538 迎春舞会之数字舞蹈

Xylona ·
更新时间:2024-09-21
· 691 次阅读

题目描述
在越来越讲究合作的时代,人们注意的更多的不是个人物的舞姿,而是集体的排列。

为了配合每年的倒计时,同学们决定排出——“数字舞蹈”。顾名思义就是所有人一起排成若干个数字 -___-|||| 更为创新的是,每个人都是趴在地上,保证横竖。

现在给出数字及其要求摆出的大小,请你编程,模拟同学们的优美姿态。

输入输出格式
输入格式:

第一行为k。k表示要摆出数字的大小。

第二行为全部由数字组成的字符串,即要摆出的几个数字。

输出格式:

按题目要求输出。

输入输出样例
输入样例#1:

2
1234567890

输出样例#1:

-- -- -- -- -- -- -- --

| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
– – – – – – –
| | | | | | | | | | | | |
| | | | | | | | | | | | |
– – – – – – –
————————————————
思路:一共可以分成两种情况,打印横线和打印竖线。横线的是后是0、3、6这三位,刚好可以对3取余来判断。

竖线打印的时候要一下打印两条竖线,所以处理1,4的时候把2、5也解决了。

#include using namespace std; int main() { int k; string s,m[10]={"-|| ||-"," | | ","- |-| -", "- |- |-"," ||- | ", "-| - |-","-| -||-", "- | | ","-||-||-","-||- |-"}; cin>>k>>s; for (int p=0;p<7;p++){ if (p==2 || p==5) continue; if (p%3==0){ for (int i=0;i<s.size();i++){ cout<<' '; for (int j=0;j<k;j++){ cout<<m[s[i]-48][p]; } cout<<" "; } cout<<endl; }else{ for(int q=0;q<k;q++){ for (int i=0;i<s.size();i++){ cout<<m[s[i]-48][p]; for (int j=0;j<k;j++){ cout<<' '; } cout<<m[s[i]-48][p+1]<<' '; } cout<<endl; } } } return 0; }
作者:zqhf123



p1 字符 字符串

需要 登录 后方可回复, 如果你还没有账号请 注册新账号