1056. 组合数的和(15)

题目描述

给定N个非0的个位数字,用其中任意2个数字都可以组合成1个2位的数字。要求所有可能组合出来的2位数字的和。例如给定2、5、8,则可以组合出:25、28、52、58、82、85,它们的和为330。

输入格式:

输入在一行中先给出N(1<N<10),随后是N个不同的非0个位数字。数字间以空格分隔。

输出格式:

输出所有可能组合出来的2位数字的和。

输入样例:

3 2 8 5

输出样例:

330

提交代码

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
#include <cstdio>
int main()
{
int num;
int quotient;
int idx;

scanf("%d", &num);

quotient = num / 100;
num %= 100;
for (idx = 0; idx < quotient; idx++) {
printf("%c", 'B');
}
quotient = num / 10;
num %= 10;
for (idx = 0; idx < quotient; idx++) {
printf("%c", 'S');
}
for (idx = 1; idx <= num; idx++) {
printf("%d", idx);
}
printf("\n");

return 0;
}

个人思考

这大概是我第一次使用 scanf() 函数,以前一直用的都是 cincout,一下子没注意到在输入时要使用的参数是地址表而不是变量名。