大一C语言题,求答案!!

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

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

53.C 优先级别:!>算术运算符>关系表达式>&&>||>赋值表达式
54.B b++表示先引用b的值再进行自加,++b表示先加1再引用b的值。b++具体计算为:先让b=5,再执行b=b+1,此时b=6。题目中括号内表示是逗号表达式,表达式的值为逗号表达式中最后一个表达式的值,所以其值为a+b=2+6=8,。
55.字符在计算机中的运算是以其ASCII值的形式进行运算的,所以字符可以和int数据直接进行运算。A的ASCII值为65,'6'、'3'是用单引号引用起来的,表示字符,可以直接运算。65+6-3=68
56.A while后面的括号内表示当满足某个条件时,如果省略了完整的表达式,如果只是一个E表示E非零时满足条件,E为零时结束循环。!E则表示相反。
57.C continu表示结束当前循环跳至下一个循环,break表示结束本次循环(不循环了)。从i=0时开始进行循环,满足i<1,则结束本次循环,执行i++,此时i=1,不满足if条件,直接进行i++,直到i==5时break,结束循环,所以共循环了6次。
58.C数组的引用中只能出现[],且是几维数组就用几个[],中括号内值为元素的行列下标,括号内可以是int型数据或是整型表达式,A选项下标越界了,其引用范围是从a[0][0]~a[2][3]。
59.B a定义的是字符串,其输入结束后系统会自动在最后加上"\0”,用以表示字符串输出完毕,所以a在内存中的长度为7。b定义的是字符,一共定义了6个字符,所以它在内存中的长度为6,但二者在数字中的长度都是6.
60.C 预处理文件包含是系统定义的。
以上答案是自己做的,比较有把握,但若个别题目解答有误还请见谅,欢迎指正。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-20
//貌似多组答案的一楼的只能出来一组
252
A=1,B=2.
A=2,B=1.
Press any key to continue

123
No Answer
Press any key to continue

#include<stdio.h>
main()
{
int num,A,B,flag=0;
scanf("%d",&num);
for (A=1;A<=9;A++)
for (B=1;B<=9;B++)
if ((A*10+B)*(B*10+A)==num)
{
printf("A=%d,B=%d.\n",A,B);
flag=1;
}
if (flag==0)
printf("No Answer\n");
}追问

如果格式是这样的【样例输入】976
【样例输出】16
要怎么改啊

追答

976
16.
Press any key to continue

#include
main()
{
int num,A,B,flag=0;
scanf("%d",&num);
for (A=1;A<=9;A++)
{
for (B=1;B<=9;B++)
{
if ((A*10+B)*(B*10+A)==num)
{
printf("%d%d.\n",A,B);
flag=1;
break;
}
}
if (flag)
break; //检查标识变量,当内部循环获得答案后跳出外部循环
}
if (flag==0)
printf("No Answer\n");
}

本回答被提问者采纳
第2个回答  2012-03-20
#include <stdio.h>
void main()
{
int N,A,B;
printf("请输入一个数:");
scanf("%d",&N);
A=N%10;
B=N/10%10;
if((A*10+B)*(B*10+A)==N)
printf("%d,%d",A,B);
else
printf("No Answer\n");
}
这样写就行了。
第3个回答  2012-03-20
#include<stdio.h>
void main()
{
int a,b,n,AB,BA,flag=0;
printf("请输入N的值:");
scanf("%d",&n);
for(a=1;a<10;a++)
for(b=1;b<10;b++)
{
AB=a*10+b;
BA=b*10+a;
if(AB*BA==n&&AB<BA)
{
flag=1;
printf("\nAB=%d\nBA=%d\n",AB,BA);
}
}
if(flag==0)
printf("\nNo Answer.\n");
}
第4个回答  2012-03-20
#include"stdio.h"
void main()
{
int N,A,B,AB,BA;
scanf("%d",&N);
B=N%10;
A=(N-N%10)%100/10;
AB=A*10+B;
BA=B*10+A;
if(AB*AB==N)
printf("%d %d",A,B);
else printf("no answer");
}
相似回答