c语言程序求改错 【问题描述】 输入三位数字N,求两位数AB(其中个位数字为B,十位数字为A,且有0 < A < B

【问题描述】输入三位数字N,求两位数AB(其中个位数字为B,十位数字为A,且有0<A<B≤9)。使得下列等式成立:ABxBA=N其中BA是把AB中个、十位数字交换所得的两... 【问题描述】
输入三位数字N,求两位数AB(其中个位数字为B,十位数字为A,且有0 < A < B ≤9)。使得下列等式成立:
AB x BA = N
其中BA是把AB中个、十位数字交换所得的两位数。

编写程序,接收控制台输入的三位整数N,求解A,B并输出。
如果没有解则输出“No Answer”。

#include<stdio.h>
#include<math.h>
int main()
{
int n,a,b,t,m,find;
scanf("%d",&n);
for(a=1;a<=9;a++)
{
for(b=1;b<=9;b++)
{
m=(a*10+b)*(b*10+a);
if(m==n)
{
find=0;break;
}
if(find==0) break;

}
if(a>b)
{
t=a;
a=b;
b=t;
}

printf("%d%d",a,b);

if(find!=0) printf("No answer");

return 0;
}
}
这个程序a无法循环到2以上,只能是1,且怎样加入条件a!=b,我尝试加在b<=9的后面,但是不可以。还有no answer这一支应该怎样加入?谢了
展开
 我来答
roaming_sheep
2012-03-24 · TA获得超过699个赞
知道小有建树答主
回答量:589
采纳率:0%
帮助的人:706万
展开全部
这个程序a无法循环到2以上,只能是1
---------------------------
你的大括号乱用,for (a=1...)的循环体内有句 return 0; 怎么可能到达a==2嘛!

且怎样加入条件a!=b,我尝试加在b<=9的后面
----------------------------
因为条件有a<b,所以,这句for(b=1;b<=9;b++) 直接改成 for(b=a+1;b<=9;b++)不就是了,
同时for(a=1;a<=9;a++)改成for(a=1;a<=8;a++)
更多追问追答
追问
那应该怎么改呢?我把return 0 拿到外面了,可是也不对啊,能不能麻烦您帮我改一下,我刚开始学c语言,不是很懂,谢了
追答
#include

int main()
{
int n,a,b,t,m,find;
scanf("%d",&n);
for(a=1;a<=8;a++)
{
for(b=a+1;b<=9;b++)
{
if (((a*10+b)*(b*10+a))==n)
{
printf("%d%d",a,b);
return 0;
}
}
}

printf("No answer");
return 0;
}
小何才露尖尖角儿
2012-03-24 · TA获得超过362个赞
知道小有建树答主
回答量:344
采纳率:0%
帮助的人:389万
展开全部
#include<stdio.h>
#include<math.h>
int main()
{
int n,a,b,t,m,find=1;
scanf("%d",&n);
for(a=1;a<=9;a++)
{
for(b=a+1;b<=9;b++)
{
m=(a*10+b)*(b*10+a);
if(m==n)
{
find=0;
goto Result;
}
else
continue;
}

}
Result:
if(find!=0) printf("No answer");
else
printf("%d%d",a,b);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3076ef7
2012-03-24 · TA获得超过377个赞
知道小有建树答主
回答量:191
采纳率:0%
帮助的人:159万
展开全部
外层循环的大括号没扩对
把格式对齐了 再看
find 必须先赋值 在进行比较
更多追问追答
追问
大括号应该括在什么位置啊,我试了几次,都快把我弄糊涂了,能帮我看看嘛,谢了
追答
#include
#include
int main()
{
int n,a,b,t,m,find=-1;//find要先赋值 因为第一次比较之前 f未必有值
scanf("%d",&n);
for(a=1;ab)
{
t=a;
a=b;
b=t;
}
if(find==0)//找到了才输出
printf("%d%d",a,b);
if(find!=0) printf("No answer");
return 0;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
安熙晨哥哥
2012-03-25
知道答主
回答量:25
采纳率:0%
帮助的人:4万
展开全部
外层循环的大括号没扩对
把格式对齐了 再看
find 必须先赋值 在进行比较
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式