1
已采纳
王紫馨
高级守护
高级守护
1002 求符合条件的两位数
题目描述 Description
一个两位数x,将它的个位数字与十位数字对调后得到一个新数y,此时y恰好比x大36,请编程出所有这样的两位数。
输入描述 Input Description
无
输出描述 Output Description
输出符合条件的两位数,一行只输出一个数,有多少数输出多少行。
这个题目没有特殊的算法,除了iostream,其它的头文件都不用
1、定义2个变量(循环变量可加可不加)
int i,x=0,y=0;
/*
i是循环变量
x,y各代表这个十位数的个位和十位
*/
2、接着是for循环
for(i=10;i<=99;i++){
/*
i从最小的两位数到最大的两位数
*/
x=i%10;//x表示这个十位数的个位
y=i/10;//y表示这个十位数的十位
}
3、for循环中还要判断输出的条件,要按格式输出
if(((x*10+y)-i)==36)//判断是否符合题目条件
cout<<i<<endl;//按照题目要求要换行输出
0
0
0
朱宇辰
初级守护
初级守护
枚举所有的两位数,判断是否满足题目条件就好了。附上关键代码段: for (int i=10;i<=99;i++) { x=i; y=(i/10)+(i%10)*10; if (y-x==36) cout<<i<<endl; }
朱宇辰在2018-01-20 18:02:25追加了内容
因为是直接复制造成的,代码段最后多了一个大括号
0
0
0
周思睿
新手光能
新手光能
for(i=10;i<=99;i++){
/*
i从最小的两位数到最大的两位数
*/
x=i%10;//x表示这个十位数的个位
y=i/10;//y表示这个十位数的十位
}
0
屠永乐
高级守护
高级守护
将x从10循环到99,同时a=x/10,b=x%10(a为原数十位,b为原数个位),然后重组y=b*10+a。若y-x=36,则输出x并换行。
0
0
周天睿
初级光能
初级光能
核心程序
{
int x,y,ge,shi;
for(x=10;x<=99;x++)
{
ge=x%10;
shi=x/10;
y=ge*10+shi;
if(y-x==36)
cout<
0
0
-1
孙天博
新手守护
新手守护
while(x<100)
{
q=x/10;
w=x%10;
y=10*w+q;
if(y-x==36)
{
cout<<x<<endl;
}
x++;
}
-1
臧启亚
初级光能
初级光能
核心代码:
for (int i=10;i<=99;i++) {
a=i%10;
b=(i-a)/10;
s=a*10+b;
if (s-i==36) cout<<i<<endl;
}
用for从10开始寻找,a表示原个位数,b表示原十位数,a*10+b就将个位和十位对调,再判断是否比原数大36
-1