本关任务:在一种室内互动游戏中,魔术师要每位观众心里想一个三位数abc(a、b、c分别是百位、十位和个位数字),然后魔术师让观众心中记下acb、bac、bca、cab、cba五个数以及这5个数的和值。只要观众说出这个和是多少,则魔术师一定能猜出观众心里想的原数abc是多少。例如,观众甲说他计算的和值是1999,则魔术师立即说出他想的数是443,而观众乙说他计算的和值是1998,则魔术师说:“你算错了!”。请编程模拟这个数字魔术游戏。 编程要求 根据提示,在右侧编辑器补充代码,要求用函数实现,函数原型为:int magic(int m);其中形参m代表观众计算的和值,返回值是观众心里想的原数abc。如果观众计算错误,请返回-1。main函数已隐藏,接受的输入包含t+1个正整数,第一个是测试次数t,随后t个则是观众计算的和值,程序计算输出t个结果。给出c语言代码
时间: 2023-06-08 15:03:41 浏览: 261
#include<stdio.h>
int magic(int m){
int a,b,c;
for(a=1;a<=9;a++){
for(b=0;b<=9;b++){
for(c=0;c<=9;c++){
if(a*100+b*10+c+b*100+a*10+c+c*100+b*10+a==m){
return a*100+b*10+c;
}
}
}
}
return -1;//观众计算错误,返回-1
}
int main(){
int t,n;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
int ans=magic(n);
if(ans==-1){
printf("你算错了!\n");
}
else{
printf("%d\n",ans);
}
}
return 0;
}
阅读全文