/*
题目:判断一个整数中是否有重复数字(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;
}
判断一个整数中是否有重复数字(0~9),该数字不以0开头--------方法2
最新推荐文章于 2022-06-28 17:10:30 发布