📄 1788864_ce.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, *newp ;
if (head == NULL)
{
head = 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
{
newp = malloc (sizeof (BITree)) ;
newp->number = k ;
newp->no = 1 ;
newp->left = NULL ;
newp->right = NULL ;
p->left = newp ;
return ;
}
}
if (k > p->number)
{
if (p->right)
p = p->right ;
else
{
newp = malloc (sizeof (BITree)) ;
newp->number = k ;
newp->no = 1 ;
newp->left = NULL ;
newp->right = NULL ;
p->right = newp ;
return ;
}
}
}
}
void output (BITree *p)
{
if (!p)
return ;
output (p->left) ;
if (p->no != 1)
printf ("%.3ld-%.4ld %d\n", p->number/10000, p->number % 10000, p->no) ;
output (p->right) ;
}
main()
{
long i, j , m ,n ,l ,k;
char str[50] ;
BITree *p ;
head = NULL ;
mark= 0 ;
scanf ("%ld", &n) ;
for (m = 0 ; m < n ; m++)
{
scanf ("%s", str) ;
j=0;k=0;
for(i=0;temp[i]!='\0';i++)
switch(temp[i])
{
case 'A': ;case 'B': ;case 'C': std[j++]=2;break;case 'D': ;case 'E': ;case 'F': std[j++]=3;break;
case 'G': ;case 'H': ;case 'I': std[j++]=4;break;case 'j': ;case 'K': ;case 'L': std[j++]=5;break;
case 'M': ;case 'N': ;case 'O': std[j++]=6;break;case 'P': ;case 'R': ;case 'S': std[j++]=7;break;
case 'T': ;case 'U': ;case 'V': std[j++]=8;break;case 'W': ;case 'X': ;case 'Y': std[j++]=9;break;
case '-': break;
default : std[j++]=(int)temp[i]-48;
}
l=1000000;
for(i=0;i<7;i++) {
k+=l*std[i];
l/=10;
}
insertnode (k) ;
}
if (!mark)
{
printf ("No duplicates.\n") ;
return 0 ;
}
p = head ;
output (p) ;
return 0 ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -