//算法基础与在线实践是错误的;
#include<cstdio>
#include<stdlib.h>
#include<iostream>
using namespace std;
//c++注意加上这句话;
int main(){int s, i, j, k;char num[11];char n1[11] = {"- -- -----"};//笔画1 被数字0 2 3 5 6 7 8 9覆盖char n2[11] = {"| ||| ||"};//笔画2 被数字0 4 5 6 8 9覆盖char n3[11] = {"||||| |||"};//笔画3 被数字0 1 2 3 4 7 8 9覆盖char n4[11] = {" ----- --"};//笔画4 被数字2 3 4 5 6 8 9覆盖char n5[11] = {"| | | | "};//笔画5 被数字0 2 6 8覆盖char n6[11] = {"|| |||||||"};//笔画6 被数字0 1 3 4 5 6 7 8 9覆盖char n7[11] = {"- -- -- --"};//笔画7 被数字0 2 3 5 6 8 9覆盖//输入s尺寸和number数字; cin >> s >> num;while(s != 0){/*这里为了循环输入程序实现,也可以写代码为while(true)需要break结束循环;{ scanf("%d",&n);scanf("%s",num)注意数组的名字就是首地址,也就可以当成数组的地址;num是一个字符串,处理起来更方便; if(n==0&&num[0]==0)break; } */ //输出所有数字的笔画1for(i = 0; num[i] != '\0'; i++){//注意不是num【i】!=0!!! cout << " ";for(j = 0; j < s; j++)//一个笔画由s个字符组成,这个s其实也就是限制了字符的尺寸; cout << n1[num[i]-'0'];//注意这个运算结果是一个整形的变量; cout << " ";//两个空格,就是s+2的意义所在; }cout << endl;//输出所有数字的笔画2 3 (j<s在两层循环外侧是横与竖的区别)这个横和竖不是-和|,而是真的横笔画和竖笔画; for(j = 0; j < s; j++){for(i = 0; num[i] != '\0'; i++){cout << n2[num[i]-'0'];for(k = 0; k < s; k++)cout << " ";cout << n3[num[i]-'0']<<" ";//通俗点说,就是竖一下,空空空空,再竖一下; }cout << endl;}//输出所有数字的笔画4for(i = 0; num[i] != '\0'; i++){cout << " ";for(j = 0; j < s; j++)cout << n4[num[i]-'0'];cout << " ";//两个空格}cout << endl;//输出所有数字的笔画5 6for(j = 0; j < s; j++){for(i = 0; num[i] != '\0'; i++){cout << n5[num[i]-'0'];for(k = 0; k < s; k++)cout << " ";cout << n6[num[i]-'0']<<" ";}cout << endl;}//输出所有数字的笔画7for(i = 0; num[i] != '\0'; i++){cout << " ";for(j = 0; j < s; j++)cout << n7[num[i]-'0'];cout << " ";//两个空格}cout << endl << endl;cin >> s >> num;}//读懂其算法,或者说,读懂其前两笔的意思,就全明白其算法了; /*最后说一下 system("pause");首先他要放在return的前面,否则就无法执行了;当程序看到这句话时,就会说press and key to continue; */ system("pause");return 0;
//这个程序真的挺实际挺好的,这种图案显示方式真的很不错;
}
我可没说完全是原创,但是我认真加了一些自己的批注。
同时,我很推荐下面的文章!写的真的很良心。
https://blog.csdn.net/jiangjiangjiang6/article/details/104144554?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163982311716780265494936%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=163982311716780265494936&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-2-104144554.pc_search_insert_es_download&utm_term=%E6%98%BE%E7%A4%BA%E5%99%A8%E6%89%93%E5%8D%B0%E5%9B%BE%E6%A1%88&spm=1018.2226.3001.4187