编写一个C(或C ++)程序来缩放(放大)一个整数。它应该从用户那里获取一个整数, 并使用某种模式以放大形式显示该整数的每个数字。
例子:
Input : 123
Output : @
@@
@
@
@@@@@
-------------------------------@@@@
@@
@
@
@@@@
-------------------------------@@@@@
@
@@@@@
@
@@@@@
-------------------------------
此创意程序从用户那里获取一个整数, 然后在该整数之后打印该整数的每一位缩放它。
给定的数字首先使用转换为字符串串流。此后, 将访问每个字符(数字)并将其置于开关箱结构中, 该结构将每个数字进行分类并以图案的形式打印。
下面是C ++的实现
//C++ program to zoon digits of an integer
#include <
bits/stdc++.h>
using namespace std;
void zoomDigits( int number)
{
//Converting number to string
stringstream ss;
ss <
<
number;
string str = ss.str();
for ( int k=0;
k<
str.length();
k++)
{
switch (str[k]- '0' )
{
case 0:
for ( int i=0;
i<
5;
i++)
{
for ( int j=0;
j<
5;
j++)
{
if (i==0 || i==4)
cout <
<
'@' ;
else if (j==0 || j==4)
cout <
<
'@' ;
else
cout <
<
" " ;
}
cout <
<
endl;
}
cout <
<
"-------------------------------\n\n" ;
continue ;
case 1:
for ( int i=0;
i<
5;
i++)
{
for ( int j=0;
j<
5;
j++)
{
if (j==2)
cout <
<
'@' ;
else if ((i==1 &
&
j==1))
cout <
<
'@' ;
else if (i==4)
cout <
<
'@' ;
else
cout <
<
" " ;
}
cout <
<
endl;
}
cout <
<
"-------------------------------\n\n" ;
continue ;
case 2:
for ( int i=0;
i<
5;
i++)
{
for ( int j=0;
j<
4;
j++)
{
if (i==0 &
&
j==4)
cout <
<
" " ;
else if (i==0 || i==4)
cout <
<
'@' ;
else if (i==1 &
&
j==0)
cout <
<
'@' ;
else if (i==(4-j))
cout <
<
'@' ;
else
cout <
<
" " ;
}
cout <
<
endl;
}
cout <
<
"-------------------------------\n\n" ;
continue ;
case 3:
for ( int i=0;
i<
5;
i++)
{
for ( int j=0;
j<
5;
j++)
{
if (i==0 || i==2 || i==4)
cout <
<
'@' ;
else if (j==4)
cout <
<
'@' ;
else
cout <
<
" " ;
}
cout <
<
endl;
}
cout <
<
"-------------------------------\n\n" ;
continue ;
case 4:
for ( int i=0;
i<
5;
i++)
{
for ( int j=0;
j<
5;
j++)
{
if (j==4)
cout <
<
'@' ;
else if (i==2)
cout <
<
'@' ;
else if (j==0 &
&
(i==0 || i==1))
cout <
<
'@' ;
else
cout <
<
" " ;
}
cout <
<
endl;
}
cout <
<
"-------------------------------\n\n" ;
continue ;
case 5:
for ( int i=0;
i<
5;
i++)
{
for ( int j=0;
j<
5;
j++)
{
if (i==0 || i==2 || i==4)
cout <
<
'@' ;
else if ((j==0 &
&
i==1) ||
(j==4 &
&
i==3))
cout <
<
'@' ;
else
cout <
<
" " ;
}
cout <
<
endl;
}
cout <
<
"-------------------------------\n\n" ;
continue ;
case 6:
for ( int i=0;
i<
5;
i++)
{
for ( int j=0;
j<
5;
j++)
{
if (i==0 || i==2 || i==4)
cout <
<
'@' ;
else if ((j==0 &
&
(i==1 || i==3)) ||
(j==4 &
&
i==3))
cout <
<
'@' ;
else
cout <
<
" " ;
}
cout <
<
endl;
}
cout <
<
"-------------------------------\n\n" ;
continue ;
case 7:
for ( int i=0 ;
i<
5;
i++)
{
for ( int j=0 ;
j<
5;
j++)
{
if (i==0 &
&
(j!=4))
cout <
<
'@' ;
else if (i==2 &
&
(j==2 || j==4))
cout <
<
'@' ;
else if (j==3)
cout <
<
'@' ;
else
cout <
<
" " ;
}
cout <
<
endl;
}
cout <
<
"-------------------------------\n\n" ;
continue ;
case 8:
for ( int i=0;
i<
5;
i++)
{
for ( int j=0;
j<
5;
j++)
{
if (i==0 || i==2 || i==4)
cout <
<
'@' ;
else if ((j==0 &
&
(i==1 || i==3) ||
(j==4 &
&
(i==1 || i==3))))
cout <
<
'@' ;
else
cout <
<
" " ;
}
cout <
<
endl;
}
cout <
<
"-------------------------------\n\n" ;
continue ;
case 9:
for ( int i=0;
i<
5;
i++)
{
for ( int j=0;
j<
5;
j++)
{
if ( i==0 || i==2 || j==4)
cout <
<
'@' ;
else if (i==1 &
&
j==0)
cout <
<
'@' ;
else
cout <
<
" " ;
}
cout <
<
endl;
}
cout <
<
"-------------------------------\n\n" ;
continue ;
}
}
}//Driver code
int main()
{
long long number = 12305;
zoomDigits(number);
return 0;
}
输出如下:
@
@@
@
@
@@@@@
-------------------------------@@@@
@@
@
@
@@@@
-------------------------------@@@@@
@
@@@@@
@
@@@@@
-------------------------------@@@@@
@@
@@
@@
@@@@@
-------------------------------@@@@@
@
@@@@@
@
@@@@@
-------------------------------
如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。
【一个创意的C++程序,用于缩放整数】被认为是行业中最受欢迎的技能之一, 我们拥有自己的编码基础C ++ STL通过激烈的问题解决过程来训练和掌握这些概念。
推荐阅读
- 用Python创建你的第一个应用程序
- 处理中的创意编程|S2(洛伦茨吸引子)
- 处理中的创意编程|S1(Random Walker)
- 瑞士信贷面试经历|实习校园(浦那)
- cristian算法介绍和实现详细介绍
- 使用物联网的作物监控和智能农业
- Android常用实例—Alert Dialog的使用
- Android 使用 Https问题解决(SSLHandshakeException)
- 如何使用电脑上的谷歌浏览器来调试安卓手机上的移动端页面