打印数字

打印数字


小明写了一个有趣的程序,给定一串数字。
它可以输出这串数字拼出放大的自己的样子。


比如“2016”会输出为:
 22222   00000       1   6666
2     2 0     0    1 1  6
      2 0     0      1  666666
     2  0     0      1  6     6
   2    0     0      1  6     6
 2    2 0     0      1  6     6
2222222  00000     1111  66666


请仔细分析代码,填写划线部分缺少的内容。




#include <stdio.h>
#include <string.h>
#define ZIW 8
#define ZIH 7
void f(int n)
{
char cc[100];
int i,j;
char di[][ZIH][ZIW] = 
{{" 00000 ",
"0     0",
"0     0",
"0     0",
"0     0",
"0     0",
" 00000 "},
{"     1 ",
"   1 1 ",
"     1 ",
"     1 ",
"     1 ",
"     1 ",
"   1111"},
{" 22222 ",
"2     2",
"      2",
"     2 ",
"   2   ",
" 2    2",
"2222222"},
{" 33333 ",
"3     3",
"      3",
"  3333 ",
"      3",
"3     3",
" 33333 "},
{"   44  ",
"  4 4  ",
" 4  4  ",
"4   4  ",
"4   4  ",
"4444444",
"    4  "},
{" 55555 ",
" 5     ",
"555555 ",
"      5",
"      5",
"5     5",
" 55555 "},
{" 6666  ",
"6      ",
"666666 ",
"6     6",
"6     6",
"6     6",
" 66666 "},
{"7777777",
"7    7 ",
"    7  ",
"   7   ",
"  7    ",
" 7     ",
" 7     "},
{" 88888 ",
"8     8",
"8     8",
" 88888 ",
"8     8",
"8     8",
" 88888 "},
{" 99999 ",
"9     9",
"9     9",
" 999999",
"      9",
"9     9",
" 99999 "}};
              
sprintf(cc, "%d", n);
         
for(i=0; i<ZIH; i++){
for(j=0; j<strlen(cc); j++){
printf("%s ", _______________________ ); //填空位置
}
printf("\n");
}
}


int main() 
{
f(2016);
return 0;
}




注意:只提交划线部分缺少的代码,不要添加任何题面已有代码或符号。

也不要提交任何说明解释文字等。


答:di[(int)(cc[j]-'0')][i] 

解析:sprintf(cc, "%d", n); 此语句将2016数字以‘2’,‘0’,‘1’,‘6’存入cc数组中;

            看图分析,第一次内循环将‘ 22222 ’,输出,第二次‘ 00000 ’输出,可知要在d[?][i]中选择,    所以在    di[(int)(cc[ j ]-'0'][ i ]

第一次外循环


第二次外循环


第三次外循环


……

……

……以此类推



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值