本文主要是介绍判断一个整数中是否有重复数字(0~9),该数字不以0开头--------方法2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/*
题目:判断一个整数中是否有重复数字(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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!