因为使用scanf()只读取了一个数到变量n,所以就只显示了一排结果,把变量n改为存储2个整数的数组即可,修改如下:
#include <stdio.h>
int main(void){
int a,b,c,i,j,k,n[2];
scanf("%d%d",&n[0],&n[1]);
for(k=0;k<2;k++ ){
if(n[i]>0&&n[i]<=999){
a=n[k]/100;
b=n[k]/10%10;
c=n[k]%10;
for(i=0;i<a;i++){
putchar('B');
}
for(j=0;j<b;j++){
putchar('S');
}
switch(c){
case 1:printf("1");break;
case 2:printf("12");break;
case 3:printf("123");break;
case 4:printf("1234");break;
case 5:printf("12345");break;
case 6:printf("123456");break;
case 7:printf("1234567");break;
case 8:printf("12345678");break;
case 9:printf("123456789");break;
}
printf("\n");
}
}
return 0;
}
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。
提醒:再牛×的老师也无法代替学生自己领悟和上厕所!
单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。