输出1000以内所有各位数字之和为n的正整数,例如:如果输入的n是6,那么,105的各位数字之和1+0+5=6, 123的各位数字之和1+2+3=6,两者都满足要求。每行输出6列,每个整数占8位宽度右对齐。
输入格式:
从键盘输入整数n的值。
输出格式:
每行输出6列,每个整数占8位宽度右对齐。如果最后一行不足6列,也需要换行。
输入样例:
在这里给出一组输入。例如:
6
结尾无空行
输出样例:
在这里给出相应的输出。例如:
6 15 24 33 42 51
60 105 114 123 132 141
150 204 213 222 231 240
303 312 321 330 402 411
420 501 510 600
#include<stdio.h>
int main()
{
int a;//数字之和
scanf("%d", &a);
int b = 0, c = 0, i = 0;
int sum = 0, d = 0;
for (i = 0; i < 1000; i++)
{
sum = 0;
b = i;
while (b > 0)
{
c = b % 10;
sum = sum + c;
b = b / 10;
}
if (sum == a)
{
d++;//记录每行个数用于换行
printf("%8d", i);
if (d % 6 == 0)
{
printf("\n");
}
}
}
}