题目描述:
输入一个整数,如12336544,或1750,然后从最后一位开始倒过来输出,最后如果是0,则不输出,输出的数字是不带重复数字的。
示例:
输入:12336544
输出:456321
输入:1750
输出:571
输入:-175
输出:-571
代码:
#include <iostream>
using namespace std;
int main()
{
int num;
cin >> num;
int signal;
if (num<0)
{
num = -num;
signal = 1;
}
else
{
signal = 0;
}
int temp = num;
int len = 0;
while (temp>0)
{
len++;
temp /= 10;
}
char* n = (char*)malloc(len*sizeof(char));
int i;
temp = num;
for (i = 0; i<len; i++)
{
n[i] = temp % 10 + '0';
temp /= 10;
}
if (signal)
cout << '-';
int flag[10] = { 0 };
int sig = 0;
for (i = 0; i<len; i++)
{
while (n[i] == '0'&&sig==0)
i++;
sig = 1;
if (flag[n[i] - '0'] == 0)
{
flag[n[i] - '0'] = 1;
cout << n[i];
}
}
cout << endl;
cin.get();
cin.get();
return 0;
}