⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1788864_ce.c

📁 北大大牛代码 1240道题的原代码 超级权威
💻 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 + -