一、题目:
描述
输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
保证输入的整数最后一位不是0。
输入描述:
输入一个int型整数
输出描述:
按照从右向左的阅读顺序,返回一个不含重复数字的新的整数
二、输入输出示例:
三、思路:
将整数反转,然后提取出各个位上的数字,在输出不重复的数字。
四、代码:
#include<iostream>
using namespace std;
#include<cmath>
#define max 10
int main()
{
int N;
cin >> N;
int a[max] = { 0 };
int b;
for (int i = 0; N != 0; i++) //将输入的整数反转一位一位的按反转后的顺序存入数组a[max]
{
a[i] = N % 10;
N = (N - a[i]) / 10;
}
//输出a[max],保证不输出重复的数
cout << a[0];
for (int i = 1; a[i] != 0; i++)
{
int flag = 0; //定义一个标志,判定后面输出的数是否和前面已经输出的数重复
for (int j = 0; j < i; j++)
{
if (a[i] == a[j])
{
flag = 1;
}
}
if (flag == 0)
{
cout << a[i];
}
}
cout << endl;
system("pause");
return 0;
}