一个两位数,十位上的数字是个位上的数字的2/3,把十位上与个位上的数字调换后,新数比原数大18,

题目

一个两位数,十位上的数字是个位上的数字的2/3,把十位上与个位上的数字调换后,新数比原数大

18,则原来这个两位数的两个数字之和是( )。

A.12

B.10

C.8

D.2l

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

:一个三位数,百位数比十位上的数大4,个位上的数比十位上的数大2,这个三位数恰好是后两个数字组成的两位数的2.倍,那么,这个三位数是:( )。

A.532

8.476

C.676

D.735


正确答案:D

观察题中四个选项,这个三位数恰好是后两个数字组成的两位数的21倍,满足此条件的选项只有D,故选D

第2题:

一个三位数的各位数字之和是16,其中十位数字比个位数字小3。如果把这个三位数的百位数字与个位数字对调,得到一个新的三位数,则新的三位数比原三位数大495,则原来的三位数是多少?

A.169

B.358

C.469

D.736


正确答案:B
此题用排除法。由“各位数字之和是16”可排除C项;由“百位数字与个位数字对调,得到一个新的三位数,则新的三位数比原三位数大495”可排除选项A、D两项,故此题选B。

第3题:

一个两位数,十位数字是个位数字的2倍,将两个数字对调后得到的两位数比原来的数小36,求这个两位数。


解:设原来两位数个位数字为x,十位数字为2x,则由题意得(10×2x+x)-(10x+2x)=36,

(20x+x)-12x=36,x=4,2x=8

答:这个两位数是84。

第4题:

一个三位数,百位数比十位上的数大4,个位上的数比十位上的数大2,这个三位数恰好是后两个数字组成的两位数的21倍,那么,这个三位数是:( )

A.532

B.476

C.676

D.735


正确答案:D
7. D [解析]代入法,百位数比十位数上的数大4,符合这一条件的只有D选项.

第5题:

一个四位数,其个位上的数是其十位上的数的3倍,它后两位数字组成的两位数是其前 两位数字组成的两位数的3倍,求这个四位数各位数字之和是多少?

A.16

B.18

C.19

D.21


正确答案:A
解析:个位上的数是其十位上的数的3倍的数的后两位只能是l3、26、39三种情况。又因为它后两位数组成的两位数是其前两位数组成的两位数的3倍,符合条件的只有39,那么这个四位数就为l339。它各位数字之和为1+3+3+9=16,答案选A。

第6题:

:一个两位数,十位上的数字是个位上的数字的丁2,把十位上与个位上的数字调换后,新数比原数大18,则原来这个两位数的两个数字和是( )

A.12

B.10

C.8

D.21


正确答案:B

满足十位数是个位数字的导的数只能是234669,这三个两位数的两个数字之和分别是51015,选项中只出现10,所以选择B

第7题:

一个三位数,个位,百位上的数的和等于十位上的数,百位上的数的7倍比个位、十位上的数的和大2,且个位、十位、百位上的数的和是14。求这个三位数。

第8题:

一个两位数的个位数与十位数之和是10.如果把个位数与十位数对调,得出的新的两位数比原数大72,原来的两位数是()。

A.19

B.28

C.37

D.46


正确答案:A
设这个两位数十位上的数字为x,个位上的数字为g,可得方程:x+g=10(10g+x)-(10x+g)=72解得x=1g=9故原来的两位数为19

第9题:

将某两位数的个位与十位上的数字互换,所得的数是原来的1/10,则此两位数是( )。

A.10

B.12

C.13

D.11


正确答案:A
仔细观察4个选项,只有A符合题意

第10题:

已知数据文件IN30.DAT中存有200个4位数,并已调用读函数readDat( )把这些数存入数组a中,请编制一函数jsVal( ),其功能是:把个位数字和千位数字重新组合成一个新的十位数ab(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的千位数字),以及把百位数和十位数组成另一个新的十位数cd(新十位数的十位数字是原4位数的百位数字,新十位数的个位数字是原4位数的十位数字),如果新组成的两个十位数必须是一个奇数,另一个为偶数且两个十位数中至少有一个数能被17整除,同时两个新十位数字均不为0,则将满足此条件的4位数按从大到小的顺序存入数组b中,并要计算满足上述条件的4位数的个数cnt,最后调用写函数writeDat( )把结果cnt及数组b中符合条件的4位数输出到OUT30.DAT文件中。

注意:部分源程序已给出。

程序中已定义数组:a[200],b[200],已定义变量:cnt。

请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。


答案:
#include
#define MAX 200
int a[MAX],b[MAX],cnt=0;
void writeDat();
void jsVal( )
{
int i,j; /*定义循环控制变量*/
int a1,a2,a3,a4; /*定义变量保存4位数的每位数字*/
int temp; /*定义数据交换时的暂存变量*/
int ab,cd; /*存储重新组合成的十位数*/
for(i=0;i<200;i++) /*逐个取每一个4位数*/
{
a4=a[i]/1000; /*求4位数的千位数字*/
a3=a[i]%1000/100; /*求4位数的百位数字*/
a2=a[i]%100/10; /*求4位数的十位数字*/
a1=a[i]%10; /*求4位数的个位数字*/
ab=10*a1+a4; /*把个位数和千位数组合成一个新的十位数ab*/
cd=10*a3+a2; /*把百位数和十位数组成另一个新的十位数cd*/
if((ab%17==0||cd%17==0)&&((ab%2==0 && cd%2==1)||(ab%2==1 && cd%2==0)) && a1!=0 && a3!=0)
{ /*如果新组成的两个十位数必须是一个奇数,另一个为偶数且两个十位数中至少有一个数能被17整除,同时两个新十位数的十位上的数字均不为0*/
b[cnt]=a[i]; /*则将满足条件的数存入数组b中*/
cnt++; /*统计满足条件的数的个数*/
}
}
for(i=0;i
for(j=i+1;j
if(b[i]
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
void readDat( )
{
int i;
FILE *fp;
fp=fopen("IN30.DAT","r");
for(i=0;i
fscanf(fp,"%d",&a[i]);
fclose(fp);
}
void main()
{
int i;
readDat();
jsVal();
printf("满足条件的数=%d\n",cnt);
for(i=0;i
printf("%d ",b[i]);
printf("\n");
writeDat();
}
void writeDat()
{
FILE *fp;
int i;
fp=fopen("OUT30.DAT","w");
fprintf(fp,"%d\n",cnt);
for(i=0;i
fprintf(fp, "%d\n",b[i]);
fclose(fp);
}

更多相关问题