#include <iostream>
bool check(int n);
using namespace std;
int main()
{
int num;
cin>>num;
int i;
if (check(num)) cout<<"没重复"<<endl;
else cout<<"重复了"<<endl;
return 0;
}
//判断是否有重复的数字
bool check(int num)
{
int v[10]={0};//肯定是10,因为只有10个数字(0123456789),超过十个位的数字 肯定是有数字重复的
int i,sum=0,c=0;
while (num>0)
{
v[num%10]=1;//若有重复,则会在v数组的同一个元素处重复赋值1,这样 数组v的元素的总和就会比位数少
num=num/10;
c++;//c用来计算位数
}
for (i=0;i<10;i++)
sum+=v[i];//计算数组v元素的总和
return (sum==c)?true:false;// 如果sum==c,即没有重复数字,返回true,否则返回false
}
判断数字n中有没有重复的数字
最新推荐文章于 2024-04-21 20:02:05 发布