所以我有这个代码:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i,k,m,l;
int add=0;
for(i=1;i<11;i++)
{
printf("%-2d: ",i);
for(k=i;k>0;k--)
{
m=i/k;
if(i%k==0)
{
m=i/k;
add=add+m;
printf("%d ",m);
}
else
printf(" ");
}
for(l=(10-i);l>0;l--)
printf(" ");
printf("| %d \n",add);
add=0;
}
}
现在代码发现余数都很好,但是我遇到了分区之间的间距问题(几乎是 else 语句)。
这是我的程序输出的内容:
1: 1 | 1
2: 1 2 | 3
3: 1 3 | 4
4: 1 2 4 | 7
5: 1 5 | 6
6: 1 2 3 6 | 12
7: 1 7 | 8
8: 1 2 4 8 | 15
9: 1 3 9 | 13
10: 1 2 5 10 | 18
这就是我需要它的样子:
1: 1 | 1
2: 1 2 | 3
3: 1 3 | 4
4: 1 2 4 | 7
5: 1 5 | 6
6: 1 2 3 6 | 12
7: 1 7 | 8
8: 1 2 4 8 | 15
9: 1 3 9 | 13
10: 1 2 5 10 | 18
所以,我需要所有相同的数字来排队。