题目
4. (15.0分) 下面程序的输出结果为____。 void main() { int k, x=18, y=24, s=0; for( k=x ; k>0 ; k-- ) ( if (x%k==0 && y%k==0) s=s+k; ) printf( "%d", s);
4. (15.0分) 下面程序的输出结果为____。
void main()
{
int k, x=18, y=24, s=0;
for( k=x ; k>0 ; k-- )
{ if (x%k==0 && y%k==0) s=s+k; }
printf( "%d", s);
题目解答
答案
程序通过循环判断 18 和 24 的公约数,并将符合条件的 `k` 累加到 `s` 中。18 和 24 的公约数为 1, 2, 3, 6。
- 当 `k = 6` 时,`s += 6`。
- 当 `k = 3` 时,`s += 3`。
- 当 `k = 2` 时,`s += 2`。
- 当 `k = 1` 时,`s += 1`。
最终,`s = 1 + 2 + 3 + 6 = 12`。
答案:12