自定義壹個函數,判斷是否有重復出現的數字,有則返回1,沒有則返回-1。
#include?<stdio.h>
#include<stdlib.h>
int?Ifsame(int?a[],int?n);
main()
{
int?a[30]={0};?//最多可以容納29位數的數字
int?i=-1;
int?flag;
//用getchar()函數將整數的每壹位數依次讀入數組中。
printf("Input?n:\n");
do
{
i++;
a[i]=getchar()-48;?//由於ascll碼中數字0是48,壹直往後
}while(a[i]!=-38);?//回車鍵ascll為10,前面減了48。
//調用函數輸出是否有重復數字
flag=Ifsame(a,i);
if(flag==1)
printf("Repeated?digit!\n");
else?if(flag==-1)
printf("No?repeated?digit!\n");
system("pause");
}
//函數功能:判斷壹個數組中的各個元素是否相等。相等返回1,不相等返回-1。
int?Ifsame(int?a[],int?n)
{
int?i,j;
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]==a[j])
return?1;
}
}
return?-1;
}