📄 1788845_re.c
字号:
#include <stdio.h>
#include <stdlib.h>
typedef struct node
{
long number ;
long no ;
struct node *left, *right ;
} BITree ;
int mark;
BITree *head ;
void insertnode (long k)
{
BITree *p, *np ;
if (head == NULL)
{
head = (BITree *) malloc (sizeof (BITree)) ;
head->number = k ;
head->no = 1 ;
head->left = NULL ;
head->right = NULL ;
return ;
}
p = head ;
while (1)
{
if (p->number == k)
{
p->no++ ;
mark= 1 ;
return ;
}
if (k < p->number)
{
if (p->left)
p = p->left ;
else
{
np = (BITree *)malloc (sizeof (BITree)) ;
np->number = k ;
np->no = 1 ;
np->left = NULL ;
np->right = NULL ;
p->left = np ;
return ;
}
}
if (k > p->number)
{
if (p->right)
p = p->right ;
else
{
np = (BITree *)malloc (sizeof (BITree)) ;
np->number = k ;
np->no = 1 ;
np->left = NULL ;
np->right = NULL ;
p->right = np ;
return ;
}
}
}
}
long getnum (char *str)
{
long k ;
int i ;
k = 0 ;
for (i = 0 ; str[i] ; i++)
{
switch (str[i])
{
case '0':
k *= 10 ;
break ;
case '1':
k = k*10 + 1 ;
break ;
case '2':
case 'A':
case 'B':
case 'C':
k = k*10 + 2 ;
break ;
case '3':
case 'D':
case 'E':
case 'F':
k = k*10 + 3 ;
break ;
case '4':
case 'G':
case 'H':
case 'I':
k = k*10 + 4 ;
break ;
case '5':
case 'J':
case 'K':
case 'L':
k = k*10 + 5 ;
break ;
case '6':
case 'M':
case 'N':
case 'O':
k = k*10 + 6 ;
break ;
case '7':
case 'P':
case 'R':
case 'S':
k = k*10 + 7 ;
break ;
case '8':
case 'T':
case 'U':
case 'V':
k = k*10 + 8 ;
break ;
case '9':
case 'W':
case 'X':
case 'Y':
k = k*10 + 9 ;
break ;
}
}
return k ;
}
void output (BITree *pp)
{
if (!pp)
return ;
output (pp->left) ;
if (pp->no != 1)
printf ("%.3ld-%.4ld %ld\n", pp->number/10000, pp->number % 10000, pp->no) ;
output (pp->right) ;
}
int main()
{
long s ,m ;
char str[20] ;
BITree *p ;
head = NULL ;
mark= 0 ;
scanf ("%ld", &s) ;
for (m = 0 ; m < s ; m++)
{
scanf("%s",str);
insertnode(getnum(str));
}
if (!mark)
{
printf ("No duplicates.\n") ;
return 0 ;
}
p = head ;
output (p) ;
return 0 ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -