题目:
从键盘输入一个数,检查这个数中是否有重复出现的数字。如果这个数中有重复出现的数字,则显示“Repeated digit!”;否则显示“No repeated digit!”。
已知函数原型:
int CountRepeatNum(int count[], int n);
若有重复数字,则该函数返回重复出现的数字;否则返回-1.
程序运行结果示例1:
Input n:28212
Repeated digit!
程序运行结果示例2:
Input n:12345
No repeated digit!
输入提示:"“Input n:\n”"
输入格式: “”%ld""
输出格式:
有重复数字,输出信息: ““Repeated digit!\n””
没有重复数字,输出信息: ““No repeated digit!\n””
解答:
#include <stdio.h>
int CountRepeatNum(int a[], int n);
int CountRepeatNum(int a[], int n)
{
int b=1,temp,i;
while(n)
{
if(n/10!=0)
b++;
temp=n%10;
a[temp]++;
n=n/10;
}
for(i=0;i<10;i++)
{
if(a[i]>1)
{
return i;
}
}
return -1;
}
int main()
{
int n,flag,a[10]={0};
printf("Input n:");
scanf("%d",&n);
flag=CountRepeatNum(a,n);
if(flag==-1)
printf("No repeated digit!\n");
else
printf("Repeated digit!\n");
}