利用循环不断获取尾数,然后累次相加,并使用map判断是否已经出现过,若已经出现过,则不进行相加。 #include<stdio.h> int main() { int num; int new_num=0; int trail; int map[10]={0}; scanf("%d",&num); while(num>0) { trail=num%10;//得到当前尾数 num=num/10; if(map[trail]==0) { new_num=new_num*10+trail; map[trail]++; } } printf("%d\n",new_num); ...