求指导scanf的问题

linxiasanshidu 2011-11-25 10:48:49
看了牛人用DOS打印“*”与“ ”排动画, 我就想试着写的一个打印数字程序
输入一个数字 -> 判断输出形式(关键就是这个,类似于那种计算器上的样子) -> 逐行打印


如下:

int i,j,k,n,m,x,e=1,y,a[3]={0,0,0},b[2]={0,0},c[2]={0,0};

printf("input a number:");
scanf("%d",&i);
if(i>9)
printf("erro");
else
{
switch(i)
{
case 1:c[0]=c[1]=1;break;
case 2:a[0]=a[2]=1;b[1]=1;c[0]=1;break;
case 3:a[0]=a[1]=a[2]=1;c[0]=c[1]=1;break;
case 4:a[1]=1;b[0]=1;c[0]=c[1]=1;break;
case 5:a[0]=a[1]=a[2]=1;b[0]=1;c[1]=1;break;
case 6:a[0]=a[1]=a[2]=1;b[0]=b[1]=1;c[1]=1;break;
case 7:a[0]=1;c[0]=c[1]=1;break;
case 8:a[0]=a[1]=a[2]=1;b[0]=b[1]=1;c[0]=c[1]=1;break;
case 9:a[0]=a[1]=a[2]=1;b[0]=1;c[0]=c[1]=1;
}
}
for(j=1;j<=11;j++)
{
for(k=1;k<=25;k++)
printf("*");
for(k=1;k<=9;k++)
printf(" ");
m=j%5;
y=j/5;
if((m=1)&&(a[y]=1))
for(n=1;n<=16;n++)
printf("*");
else
{
if(j<=6)
{
if(b[0]=1)
{
printf("*");
for(x=1;x<=15;x++)
printf(" ");
}
else
{
for(x=1;x<=15;x++)
printf(" ");
}
if(c[0]=1)
printf("*");
else
printf(" ");
}
else
{
if(b[1]=1)
{
printf("*");
for(x=1;x<=15;x++)
printf(" ");
}
else
{
for(x=1;x<=15;x++)
printf(" ");
}
if(c[1]=1)
printf("*");
else
printf(" ");
}
}
for(n=1;n<=9;n++)
printf(" ");
for(n=1;n<=20;n++)
printf("*");
printf("\n");
}
}

貌似不能达到目的,求教
...全文
102 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
linxiasanshidu 2011-11-25
  • 打赏
  • 举报
回复
右边的用数组C来控制,数组a,b,c初始值都未0,然后根据输入的数字判断a,b,c的值,我想就是一个开关作用。但是不能实现,求高手。。。。。
linxiasanshidu 2011-11-25
  • 打赏
  • 举报
回复
看图
linxiasanshidu 2011-11-25
  • 打赏
  • 举报
回复
我解释下,
seraphlyy 2011-11-25
  • 打赏
  • 举报
回复
题目表达不清,可能是我理解能力不行
赵4老师 2011-11-25
  • 打赏
  • 举报
回复
单步调试和设断点调试是程序员必须掌握的技能之一。
夜夜风_ 2011-11-25
  • 打赏
  • 举报
回复
看不懂,不明白楼主要表达的意思,应该是我理解能力不够好吧!

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧