输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数
输入:
9876673
输出
37689
代码:
int fun(int num)
{
int temp;
int i = 0, j = 0, k = 0;
int len , ret;
char buf[10];
while(num){
temp = num %10;
buf[i] = temp + 48;
num = num/10;
i++;
}
buf[i] = '\0';
printf("%s\n", buf);
len = strlen(buf);
for(i = 0; i < len; i++){
for(j = i + 1; j < len; j++){
if(buf[j] == buf[i]){
for(k = j; k <= len; k++){
buf[k] = buf[k + 1];
}
len --;
}
}
}
printf("%s\n", buf);
ret = atoi(buf);
return ret ;
}
其实字符串去重还有个比较好的系统函数可以使用,strchr()函数
int fun(int num)
{
int temp;
int i = 0, j = 0;
int len , ret;
char buf[10], retBuf[10];
while(num){
temp = num %10;
buf[i] = temp + 48;
num = num/10;
i++;
}
buf[i] = '\0';
printf("%s\n", buf);
len = strlen(buf);
for(i = 0, j = 0; i < len; i++){
if(strchr(retBuf, buf[i]) == 0){
retBuf[j] = buf[i];
j++;
}
}
retBuf[j] = '\0';
printf("%s\n", retBuf);
ret = atoi(retBuf);
return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)