题解 | #提取不重复的整数#

提取不重复的整数

http://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1

int main(){
int data = 0;
    scanf("%d", &data);
    int map[10] = {0};
    while (data != 0) { // 判断是否处理了最高位
        int temp = data%10;
        if (map[temp] == 0) { // 判断这一位  是否已经出现过
            map[temp]++;
            printf("%d", temp);
        }
        data = data/10; // 个位 -> 十位 -> 百位
        return 0;
    }

思路: 1.定义map[]数组,用来标记,map[]=0代表没出现过,map[]=代表已出现过, 若没出线过,则更改值为1,并输出; 若出现过(代表已经输出过),则本次while循环什么都不做,进入下一次的while循环,判断尾数。 2.定义data用来接收数字 每次%10代表求最后一位数 每次/10代表截去本次尾数,为求下一次尾数做准备。 3.while循环条件是判断是否循环到了最高位。

全部评论

相关推荐

10-11 17:30
湖南大学 C++
我已成为0offer的糕手:羡慕
点赞 评论 收藏
分享
贺兰星辰:不要漏个人信息,除了简历模板不太好以外你这个个人简介是不是太夸大了...
点赞 评论 收藏
分享
评论
1
1
分享
牛客网
牛客企业服务