判断一个整数中是否有重复数字(0~9),该数字不以0开头--------方法2

来源:互联网 发布:写轻小说的软件 编辑:程序博客网 时间:2024/06/05 08:10

/*  题目:判断一个整数中是否有重复数字(0~9),该数字不以0开头  方法2:利用函数将数字从低位(个位)到高位进行分解,对应放到整型数组中  利用双重循环判断分解得到的各个位上的数字是否相等,如果相等,函数返回false,表示要判断的整数中有重复数字  */#include<iostream>  #include<cstring>using namespace std;   bool checkNum(int n){      int num[11],i,j,p=n,count=0; //用数组元素num[0]~num[9] 存放n分解得到的高到低位上的数字      i=1;     while(p)  //将要判断的数依次分解别放到数组num中num[1]~num[10]分别存放高到低位上的数字    {        num[i++]=p%10;        p/=10;      }     count=i-1; //count用来记录要判断的整数个数   for(i=1;i<=count-1;i++)         //用双循环判断分解得到的各个位上的数字是否相等,如果相等,函数返回false        for(j=i+1;j<=count;++j)             if(num[i]==num[j])  //判断是否是重复数字    return false;     return true;}   int main(){   int digit_10;   cout<<"请输入10位数以内的整数:";   while(cin>>digit_10&&digit_10<9999999999)   {   if(checkNum(digit_10))   cout<<"此数中没有重复数字"<<endl;   else       cout<<"此数中存在重复数字"<<endl;    cout<<"请输入10位数以内的整数";   } return 0;}

原创粉丝点击