我想打印5行10列的前49个数字。
我尝试使用某些宽度含义并尝试使其对齐,但我不知道该怎么做。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i, j;
int count = 50;
int r = 5;
int c = 10;
for (i = 0; i <= r; i++)
{
for(int j = 1; j <=count; j++)
{
printf("%9d", i);
i++;
}
}
return (0);
}
我可以从0-49打印,但是对齐不正确,有人可以帮忙吗?谢谢。
答案 0 :(得分:1)
您只需要一个循环,就可以使用剩下的运算符来检测何时需要换行。
0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
输出为:
private static final Predicate<Parent> HAS_SON = parent -> IS_CHILD(parent.getChild);
private static final Predicate<Child> IS_CHILD = Objects::nonNull;
private static final Predicate<Parent> IS_PARENT = Objects::nonNull;
private static final Predicate<Parent> IS_FATHER = IS_PARENT.and(HAS_SON);
答案 1 :(得分:1)
无需使用两个循环,一个循环就可以了。
#include <stdlib.h>
#include <stdio.h>
int main()
{
int i, j;
int count = 50;
int c = 10;
for (i = 0; i < count; i++)
{
printf("%2d ", i);
if (i%c == 9) printf("\n");
}
return (0);
}
答案 2 :(得分:0)
您将需要知道该列是否已打印10个值,您需要一个偏移量来提醒您,最后一个元素发生的位置是最后10个值,因此我们将SELECT ListID,
a.DOWID,
tb.DOWName AS "Day",
a.aTimeID,
c.aTime AS "Time",
-- ...
变量分配给该变量元素值基于每行10列,因此如果模数可以被10整除,则取模数,然后移至下一行
offset
答案 3 :(得分:-1)
在“%9d”之前添加空格或任何字符可以解决此问题。
printf(" %9d", i);