作者:勉情于你 | 来源:互联网 | 2023-10-13 13:47
要求:在一种室内互动游戏中,魔术师要每位观众心里想一个三位数abc(a、b、c分别是百位、十位和个位数字),然后魔术师让观众心中记下acb、bac、bca、cab、cba五个数以及这5个数的和值。只要观众说出这个和是多少,则魔术师一定能猜出观众心里想的原数abc是多少。例如,观众甲说他计算的和值是1999,则魔术师立即说出他想的数是443,而观众乙说他计算的和值是1998,则魔术师说:“你算错了!”。请编程模拟这个数字魔术游戏。要求用函数实现,函数原型为:int Magic(int m);
---------------------------------------------------------------------------------------------------------------------------------
代码:
#include
int Magic(int m)
{
int i;
int a, b, c;
int sum;
for (i &#61; 100; i <1000; i&#43;&#43;)
{
a &#61; i / 100;
c &#61; i % 10;
b &#61; (i - 100 * a - c) / 10;
sum &#61; m &#43; i;//sum实际为百位、十位、个位上都有2个a、b、c相加
if ((a &#43; b &#43; c) * 222 &#61;&#61; sum)
{
return i;
}
}
return 0;
}
int main()
{
int m;
scanf("%d", &m);
if (Magic(m) &#61;&#61; 0)
{
printf("The sum you calculated is wrong!\n");
}
else
{
printf("The number is %d\n", Magic(m));
}
return 0;
}