输出空格控制
在oj上,有很多题目往往需要输出多个数字,每2个数字中间输出1个空格,行尾不需要空格。
这里说说我常用的方法—设立标志变量。
不管它输出多少个数字,我们都可以这样看待:除了每行第一个数,后面每个数字前面都跟着一个空格。所以我们需要一个变量(flag)来判断是否输出的是这行的第一个数字。
首先在所以输出前定义一个变量并初始化为0,int flag=0;
然后比如说输出数字的语句是printf(“%d”,a);我们可以这样写:
if (flag)
printf(” “);
printf(“%d”,a);
flag=1;
这四行总是连在一起的,这样只要输出成功了一个数,后面的数前面都会有空格。假如要输出多行,我们也有办法:
printf(“\n”);
flag=0;
这两个也是连在一起的,凡是成功输出了换行,下一行的第一个数前面就不会有空格了。
大家还有什么别的好方法吗?