CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

各位大虾,有空帮个忙了,给我一段您认为经典的代码

楼主gengrun(胖哥)2003-06-01 12:55:11 在 C/C++ / C语言 提问

请列举一段你最欣赏的程序,什么语言的源程序都可以,最好不超过100行,并简要说明程序的来源和功能。  
  问题点数:100、回复次数:16Top

1 楼pzytony(507)回复于 2003-06-01 13:34:36 得分 0

彩票系统  
   
  本文由鹏程C语言教学网站整理收录  
  收录时间:   2003-5-24   18:05:15  
   
  --------------------------------------------------------------------------------  
   
  Author:   上海黑暗之龙         From:天宇软件  
   
  main()  
  {   long   int   z[13][3],temp=0,k=0,a,b,c,d,d0,d1,d2,d3,d4,d5,d6,d7,d8,****;  
  int   x,y,x1=0,y1=0;  
  printf("****************************************************************************\n");  
  printf("*   *\n");  
  printf("*   朱杰的彩票查询系统   *\n");  
  printf("*   程序设计:朱杰   *\n");  
  printf("****************************************************************************\n");  
  for(x=0;x<13;x++)  
  for(y=0;y<3;y++)  
  {  
  printf("\n请输入第%d行,第%d个数据",x,y);  
  scanf("%ld",&k);  
  z[x][y]=k;  
  }  
  printf("\n");  
  printf("请再输入你认为比较小的参数:");  
  scanf("%ld",&****);  
  for(a=0;a<3;a++)  
  {   temp=0;  
  temp=z[0][a];  
  printf("%10d",temp);  
  getch();  
  for(d0=0;d0<3;d0++)  
  {    
  if(d0==1)  
  {  
  temp=temp-z[11][2];  
  temp=temp-z[10][2];  
  temp=temp-z[9][2];  
  temp=temp-z[8][2];  
  temp=temp-z[7][2];  
  temp=temp-z[6][2];  
  temp=temp-z[5][2];  
  temp=temp-z[4][2];  
  temp=temp-z[3][2];  
  temp=temp-z[2][2];  
  temp=temp-z[1][d0-1];  
  }  
  if(d0==2)  
  {  
  temp=temp-z[11][2];  
  temp=temp-z[10][2];  
  temp=temp-z[9][2];  
  temp=temp-z[8][2];  
  temp=temp-z[7][2];  
  temp=temp-z[6][2];  
  temp=temp-z[5][2];  
  temp=temp-z[4][2];  
  temp=temp-z[3][2];  
  temp=temp-z[2][2];  
  temp=temp-z[1][d0-1];  
  }  
  temp=temp+z[1][d0];  
  for(d1=0;d1<3;d1++)  
  {   if(d1==1)  
  {  
  temp=temp-z[11][2];  
  temp=temp-z[10][2];  
  temp=temp-z[9][2];  
  temp=temp-z[8][2];  
  temp=temp-z[7][2];  
  temp=temp-z[6][2];  
  temp=temp-z[5][2];  
  temp=temp-z[4][2];  
  temp=temp-z[3][2];  
  temp=temp-z[2][d1-1];  
  }  
  if(d1==2)  
  {  
  temp=temp-z[11][2];  
  temp=temp-z[10][2];  
  temp=temp-z[9][2];  
  temp=temp-z[8][2];  
  temp=temp-z[7][2];  
  temp=temp-z[6][2];  
  temp=temp-z[5][2];  
  temp=temp-z[4][2];  
  temp=temp-z[3][2];  
  temp=temp-z[2][d1-1];  
  }  
  temp=temp+z[2][d1];  
  for(d2=0;d2<3;d2++)  
  {   if(d2==1)  
  {  
  temp=temp-z[11][2];  
  temp=temp-z[10][2];  
  temp=temp-z[9][2];  
  temp=temp-z[8][2];  
  temp=temp-z[7][2];  
  temp=temp-z[6][2];  
  temp=temp-z[5][2];  
  temp=temp-z[4][2];  
  temp=temp-z[3][d2-1];  
  }  
  if(d2==2)  
  {  
  temp=temp-z[11][2];  
  temp=temp-z[10][2];  
  temp=temp-z[9][2];  
  temp=temp-z[8][2];  
  temp=temp-z[7][2];  
  temp=temp-z[6][2];  
  temp=temp-z[5][2];  
  temp=temp-z[4][2];  
  temp=temp-z[3][d2-1];  
  }  
  temp=temp+z[3][d2];  
  for(d3=0;d3<3;d3++)  
  {   if(d3==1)  
  {  
  temp=temp-z[11][2];  
  temp=temp-z[10][2];  
  temp=temp-z[9][2];  
  temp=temp-z[8][2];  
  temp=temp-z[7][2];  
  temp=temp-z[6][2];  
  temp=temp-z[5][2];  
  temp=temp-z[4][d3-1];  
  }  
  if(d3==2)  
  {  
  temp=temp-z[11][2];  
  temp=temp-z[10][2];  
  temp=temp-z[9][2];  
  temp=temp-z[8][2];  
  temp=temp-z[7][2];  
  temp=temp-z[6][2];  
  temp=temp-z[5][2];  
  temp=temp-z[4][d3-1];  
  }  
  temp=temp+z[4][d3];  
  for(d4=0;d4<3;d4++)  
  {   if(d4==1)  
  {  
  temp=temp-z[11][2];  
  temp=temp-z[10][2];  
  temp=temp-z[9][2];  
  temp=temp-z[8][2];  
  temp=temp-z[7][2];  
  temp=temp-z[6][2];  
  temp=temp-z[5][d4-1];  
  }  
  if(d4==2)  
  {  
  temp=temp-z[11][2];  
  temp=temp-z[10][2];  
  temp=temp-z[9][2];  
  temp=temp-z[8][2];  
  temp=temp-z[7][2];  
  temp=temp-z[6][2];  
  temp=temp-z[5][d4-1];  
  }  
  temp=temp+z[5][d4];  
  for(d5=0;d5<3;d5++)  
  {   if(d5==1)  
  {  
  temp=temp-z[11][2];  
  temp=temp-z[10][2];  
  temp=temp-z[9][2];  
  temp=temp-z[8][2];  
  temp=temp-z[7][2];  
  temp=temp-z[6][d5-1];  
  }  
  if(d5==2)  
  {  
  temp=temp-z[11][2];  
  temp=temp-z[10][2];  
  temp=temp-z[9][2];  
  temp=temp-z[8][2];  
  temp=temp-z[7][2];  
  temp=temp-z[6][d5-1];  
  }  
  temp=temp+z[6][d5];  
  for(d6=0;d6<3;d6++)  
  {   if(d6==1)  
  {  
  temp=temp-z[11][2];  
  temp=temp-z[10][2];  
  temp=temp-z[9][2];  
  temp=temp-z[8][2];  
  temp=temp-z[7][d6-1];  
  }  
  if(d6==2)  
  {  
  temp=temp-z[11][2];  
  temp=temp-z[10][2];  
  temp=temp-z[9][2];  
  temp=temp-z[8][2];  
  temp=temp-z[7][d6-1];  
  }  
  temp=temp+z[7][d6];  
  for(d7=0;d7<3;d7++)  
  {   if(d7==1)  
  {  
  temp=temp-z[11][2];  
  temp=temp-z[10][2];  
  temp=temp-z[9][2];  
  temp=temp-z[8][d7-1];  
  }  
  if(d7==2)  
  {  
  temp=temp-z[11][2];  
  temp=temp-z[10][2];  
  temp=temp-z[9][2];  
  temp=temp-z[8][d7-1];  
  }  
  temp=temp+z[8][d7];  
  for(d8=0;d8<3;d8++)  
  {   if(d8==1)  
  {  
  temp=temp-z[11][2];  
  temp=temp-z[10][2];  
  temp=temp-z[9][d8-1];  
  }  
  if(d8==2)  
  {   temp=temp-z[11][2];  
  temp=temp-z[10][2];  
  temp=temp-z[9][d8-1];  
  }  
  temp=temp+z[9][d8];  
  for(b=0;b<3;b++)  
  {   if(b==1)  
  {    
  temp=temp-z[11][2];  
  temp=temp-z[10][b-1];  
  }  
  if(b==2)  
  {  
  temp=temp-z[11][2];  
  temp=temp-z[10][b-1];  
  }  
  temp=temp+z[10][b];  
  for(c=0;c<3;c++)  
  {   if(c==1)  
  temp=temp-z[11][c-1];  
  if(c==2)  
  temp=temp-z[11][c-1];  
  temp=temp+z[11][c];  
  for(d=0;d<3;d++)  
  {  
  temp=temp+z[12][d];  
  if(****>=temp)  
  {  
  printf("z=%d",temp);  
  printf("相关行列:%d,%d,%d,%d,%d,%d,%d,%d,%d,  
  %d,%d,%d,%",a,d0,d1,d2,d3,d4,d5,d6,d7,d8,b,c,d);}  
  /*getch();*/  
  if(d==0)  
  temp=temp-z[12][d];  
  if(d==1)  
  temp=temp-z[12][d];  
  if(d==2)  
  temp=temp-z[12][d];  
   
  }  
   
  }  
  }  
  }  
  }  
  }  
  }  
  }  
  }  
  }  
  }    
  }  
  }    
  getch();  
   
  }  
   
   
   
     
   
     
  Top

2 楼ashchan(幻大灰 - ashchan.com)回复于 2003-06-01 13:44:23 得分 0

printf("Hello   World!");Top

3 楼fullsail(远航)回复于 2003-06-01 13:48:52 得分 0

int   main()  
  {  
          std::cout<<"Hello   World!"<<std::endl;  
          return   0;  
  }Top

4 楼ZhangYv(迎着朝阳,走向地狱)回复于 2003-06-01 13:53:57 得分 50

课后练习,高精度运算。昨晚刚写了加和减法,  
  1.1.4  
  /*     Prositive   HighPricistion—Operation   of   baniry   system     */  
  #include   <iostream.h>  
  const   int   MAXSIZE   =   20;           //max   length   of   the   number  
  const   int   K   =   2;                           //baniry   system  
  class   hp{  
        int   len;                               //length   of   number  
          int   s[MAXSIZE];             //store   high   precistion   number  
      public:  
          hp();  
          hp   hp::operator   =   (hp   C);  
  };  
  hp::hp()  
  {  
      int   i;  
      len   =   0;  
      for   (i   =   0;   i   <   MAXSIZE;   i++)  
          s[i]   =   0;  
  }  
  istream   &operator   >>   (istream   &in,   hp   &HP)  
  {  
      char   s[MAXSIZE];    
      int   i;      
      cout   <<   "Input   Number   =   ";  
      cin   >>   s;  
      HP.len   =   strlen(s);  
      for   (i   =   0;   i   <   HP.len;   i++)  
          HP.s[i]   =   s[HP.len-i-1]   -   '0';   //change   string   to   high   precisition  
      return   in;  
  }  
  ostream   &operator   <<   (ostream   &out,   hp   &HP)  
  {  
      int   i;  
      for   (i   =   HP.len-1;   i   >=   0;   i--)  
          cout   <<   HP.s[i];  
      return   out;  
  }  
  hp   operator   +(hp   A,   hp   B)  
  {  
      int   i,   len;  
      hp   C;  
      if   (A.len   >   B.len)  
          len   =   A.len;  
      else  
          len   =   B.len;                       //get   the   bigger   length   of   A,B  
      for   (i   =   0;   i   <   len;   i++){  
          C.s[i]   +=   A.s[i]   +   B.s[i];  
          if   (C.s[i]   >=   K){  
              C.s[i]   -=   K;  
              ++C.s[i+1];                 //add   1   to   a   higher   position  
          }  
      }  
      if   (C.s[len]   >   0)  
          C.len   =   len+1;  
      else  
          C.len   =   len;  
      return   C;  
  }  
  hp   operator   -   (hp   A,   hp   B)     //different   of   the   two   HighPrecision   Numbers  
  {  
      int   len,   i;  
      hp   C;  
      if   (A.len   >   B.len)  
          len   =   A.len;  
      else  
          len   =   B.len;C.len   =   4;  
      for   (i   =   0;   i   <   len;   i++){  
          C.s[i]   +=   A.s[i]   -   B.s[i];  
          if   (C.s[i]   <   0){  
              C.s[i]   +=   K;  
              --C.s[i+1];                 //subtract   1   to   higher   position  
          }  
      }  
      while   (C.s[len-1]   ==   0   &&   len   >   0)  
          --len;  
      C.len   =   len;  
      return   C;  
  }  
  hp   hp::operator   =   (hp   C)  
  {  
      int   i;  
      len   =   C.len;  
      for   (i   =   0;   i   <   MAXSIZE;   i++)  
          s[i]   =   C.s[i];  
      return   *this;  
  }  
  int   main()  
  {  
      hp   A,   B,   C;  
      cin   >>   A   >>   B;  
      C   =   A+B;  
      cout   <<   A   <<   ‘+’   <<   B   <<   “   =   “   <<   C   <<   endl;  
      C   =   A-B;  
      cout   <<   A   <<   ‘-’   <<   B   <<   “   =   “   <<   C   <<   endl;  
      return   0;      
  }  
  Top

5 楼huigll(会)回复于 2003-06-01 13:54:09 得分 0

#include   <stdio.h>  
  void   main()  
  {  
              printf("Hello,World");  
  }  
  /*Ctrl+F9;Alt+F5*/  
  Top

6 楼ZhangYv(迎着朝阳,走向地狱)回复于 2003-06-01 13:56:06 得分 0

还有乘和除法的,呆会儿有时间我在补上...Top

7 楼wangqilin(麒麟)回复于 2003-06-01 14:01:41 得分 0

#include<stdio.h>  
  void   main()  
  {  
        int   a,int   b;  
        for(a=1;a<=9;a++)  
              for(b=1;b<=a;b++)  
                  printf("%d*%d=%2d       ",a,b,a*b);  
              printf("\n");  
  很经典哟.不信你运行看  
   
   
  }Top

8 楼shenyiwen(沈亦文)回复于 2003-06-01 14:20:34 得分 0

#include<stdio.h>  
  int   main(   int,   char**   )  
  {  
          printf(   "Welcome   to   Microsoft   Windows!\n"   );  
          printf(   "Your   license   has   expired.\n"   );  
          while(1);  
  }Top

9 楼BinaryWorld(为实现中华软件产业自强而读书!)回复于 2003-06-01 14:22:28 得分 50

/*  
  *********************************************************************************  
  *********************************************************************************  
  代   码   名   :   gemini.cpp  
  上机目的   :   实现符合LL(1)文法的语法分析器  
  指导老师   :   赵新灿  
  学         生   :   001064班14号   余京  
   
  功         能   :   将正确的分解后的LL(1)文法写入sExpr[COUNT][LENGTH]内,文法开始符默认  
                        采用E,将正确的终结符和非终结符替换void   fnSetFlagMap();  
        int   fnIsKey(char   cTemp);int   fnIsFlag(char   cTemp);  
        该函数内,系统会自动匹配输出对应的FirstMap,FollowMap以及对照分析表  
        AssayMap,各表的完成算法采用书本上规定的算法实现,并生成结果保证达  
        到最大表。  
   
  备         注   :   各变量明,变量功能,函数名,函数功能采用匈牙利命名法规则,对于生成  
                        firstmap和followmap以及sasaymap的功能比较复杂。  
   
  完成日期   :   2003年05月26日  
  *********************************************************************************  
  *********************************************************************************  
  */  
  #include   <stdio.h>  
  #include   <string.h>  
  #include   <malloc.h>  
   
  #define   TRUE               0  
  #define   FALSE             -1  
  #define   ERROR1           10000  
  #define   ERROR2           10001  
  #define   COUNT             8  
  #define   LENGTH           30  
   
  char   sExpr[COUNT][LENGTH]={{"E->TM"},{"M->+TM"},{"T->FN"},{"N->*FN"},{"F->(E)"},{"M->null"},{"N->null"},{"F->i"}};  
   
  #define   KEYCOUNT       5  
  #define   FLAGCOUNT     5  
  #define   FLAGI             0  
  #define   FLAGL             3  
  #define   FLAGR             4  
  #define   FLAGC             2  
  #define   FLAGP             1  
  #define   FLAGN             5  
  #define   FLAGJ             5  
  #define   FLAGA             5  
  #define   NULLVALUE     1000  
   
  char   cFlagMap[FLAGCOUNT];  
  char   cKeyMap[KEYCOUNT];  
   
  char   nFirstMap[KEYCOUNT][FLAGCOUNT+1];  
  char   nFollowMap[KEYCOUNT][FLAGCOUNT+1];  
  char   nTestMap[KEYCOUNT][FLAGCOUNT+1];  
  int   nAssayMap[KEYCOUNT][FLAGCOUNT+1];  
   
  char   cAim[]="i*i+i*i+i*i*i#";  
  char   cStack[100];  
   
  void   fnL_R(char*   str,char*   sTemp);  
  int   fnIsKey(char   cTemp);  
  int   fnIsFlag(char   cTemp);  
  int   fnIsNULL(char   *pTemp);  
  void   fnSetFlagMap();  
  void   fnSetAssayMapFirst();  
  void   fnSetAssayMapFollow();  
  void   fnSetAssayMapFinish();  
   
  void   main()  
  {  
  int   flag=FALSE;  
  size_t   nIndex=0;  
  int   x;  
   
  for(x=0;x<COUNT;x++)  
  printf("%s : %s\n","Expression",sExpr[x]);  
  printf("%s : %s\n\n","Sentence",cAim);  
  printf("%s ","Operator");  
  printf("%s ","Stack");  
  printf("%s \n\n","InPut");  
   
  fnSetFlagMap();  
  fnSetAssayMapFirst();  
  fnSetAssayMapFollow();  
  fnSetAssayMapFinish();  
   
  strcpy(cStack,"E");  
  while(1)  
  {  
  if(cAim[nIndex]=='#'   &&   strlen(cStack)==0   )  
  {  
  flag=TRUE;  
  break;  
  }  
  if(fnIsFlag(cAim[nIndex])==FALSE)  
  {  
  flag=ERROR1;  
  break;  
  }  
  if(cAim[nIndex]==cStack[strlen(cStack)-1])  
  {  
  nIndex++;  
  cStack[(strlen(cStack)-1)]='\0';  
  }  
  if(nAssayMap[fnIsKey(cStack[strlen(cStack)-1])][fnIsFlag(cAim[nIndex])]!=FALSE)  
  {  
  printf("%s ",sExpr[nAssayMap[fnIsKey(cStack[strlen(cStack)-1])][fnIsFlag(cAim[nIndex])]]);  
  fnL_R(cStack+(strlen(cStack)-1),sExpr[nAssayMap[fnIsKey(cStack[strlen(cStack)-1])][fnIsFlag(cAim[nIndex])]]+3);  
  printf("%s ",cStack);  
  printf("%s \n",cAim+nIndex);  
  }   else  
  {  
  flag=ERROR2;  
  break;  
  }  
  }  
   
  if(flag==TRUE)  
  {  
  printf("\n\n   Measure   up   ^_^   \n");  
  }   else   if(flag==ERROR1)  
  {  
  printf("\n\nError:   accidence\n");  
  }   else   if(flag==ERROR2)  
  {  
  printf("\n\nError:   expression\n");  
  }  
   
  printf("\n\n %s","[Gemini   Works]\n");  
  }  
   
  void   fnL_R(char*   str,char*   sTemp)  
  {  
  size_t   j;  
  if(fnIsNULL(sTemp)==TRUE)  
  *str='\0';  
  else  
  {  
  for(j=0;j<strlen(sTemp);j++)  
  {  
  *(str+j)=*(sTemp+strlen(sTemp)-1-j);  
  }  
  *(str+j)='\0';  
  }  
  }  
   
  inline   int   fnIsKey(char   cTemp)  
  {  
  switch(cTemp)  
  {  
  case   'E':  
  return   0;  
  case   'M':  
  return   1;  
  case   'T':  
  return   2;  
  case   'N':  
  return   3;  
  case   'F':  
  return   4;  
  default:  
  return   FALSE;  
  }  
  }  
   
  int   fnIsNULL(char   *pTemp)  
  {  
  if(*pTemp=='n'   &&   *(pTemp+1)=='u'   &&   *(pTemp+2)=='l'   &&   *(pTemp+3)=='l')  
  return   TRUE;  
  return   FALSE;  
  }  
   
   
  inline   int   fnIsFlag(char   cTemp)  
  {  
  switch(cTemp)  
  {  
  case   'i':  
  return   FLAGI;  
  case   '(':  
  return   FLAGL;  
  case   ')':  
  return   FLAGR;  
  case   '*':  
  return   FLAGC;  
  case   '+':  
  return   FLAGP;  
  case   '#':  
  return   FLAGA;  
  default:  
  return   FALSE;  
  }  
  }  
   
   
  void   fnSetFlagMap()  
  {  
  int   i,j;  
   
  cFlagMap[FLAGI]='i';  
  cFlagMap[FLAGP]='+';  
  cFlagMap[FLAGC]='*';  
  cFlagMap[FLAGL]='(';  
  cFlagMap[FLAGR]=')';  
   
  cKeyMap[fnIsKey('E')]='E';  
  cKeyMap[fnIsKey('M')]='M';  
  cKeyMap[fnIsKey('N')]='N';  
  cKeyMap[fnIsKey('T')]='T';  
  cKeyMap[fnIsKey('F')]='F';  
   
  for(i=0;i<KEYCOUNT;i++)  
  {  
  for(j=0;j<FLAGCOUNT+1;j++)  
  {  
  nFirstMap[i][j]=FALSE;  
  nFollowMap[i][j]=FALSE;  
  nAssayMap[i][j]=FALSE;  
  }  
  }  
  }  
   
  Top

10 楼BinaryWorld(为实现中华软件产业自强而读书!)回复于 2003-06-01 14:22:38 得分 0

void   fnSetAssayMapFirst()  
  {  
  int   x,y,m,bFlag;  
   
  do  
  {  
  bFlag=FALSE;  
  for(x=0;x<KEYCOUNT;x++)  
  {  
  for(y=0;y<FLAGCOUNT+1;y++)  
  {  
  nTestMap[x][y]=nFirstMap[x][y];  
  }  
  }  
  for(x=COUNT-1;x>=0;x--)  
  {  
  for(y=3;sExpr[x][y]!='\0';y++)  
  {  
  if(sExpr[x][y-1]=='>'   &&   sExpr[x][y-2]=='-')  
  {  
  if(fnIsFlag(sExpr[x][y])!=FALSE)  
  {  
  nAssayMap[fnIsKey(sExpr[x][0])][fnIsFlag(sExpr[x][y])]=x;  
  nFirstMap[fnIsKey(sExpr[x][0])][fnIsFlag(sExpr[x][y])]=TRUE;  
  }   else   if(fnIsNULL(&sExpr[x][y])==TRUE)  
  {  
  nAssayMap[fnIsKey(sExpr[x][0])][FLAGCOUNT]=x;  
  nFirstMap[fnIsKey(sExpr[x][0])][FLAGCOUNT]=x;  
  }   else   if(fnIsKey(sExpr[x][y])!=FALSE)  
  {  
  for(m=0;m<FLAGCOUNT+1;m++)  
  {  
  if(nFirstMap[fnIsKey(sExpr[x][y])][m]!=FALSE)  
  {  
  nAssayMap[fnIsKey(sExpr[x][0])][m]=x;  
  nFirstMap[fnIsKey(sExpr[x][0])][m]=TRUE;  
  }  
  }  
  }  
  }  
  }  
  }  
  for(x=0;x<KEYCOUNT;x++)  
  {  
  for(y=0;y<FLAGCOUNT;y++)  
  {  
  if(nTestMap[x][y]!=nFirstMap[x][y])  
  bFlag=TRUE;  
  }  
  }  
  }   while   (bFlag==TRUE);  
  }  
   
  void   fnSetAssayMapFollow()  
  {  
  int   x,y,m,bFlag;  
   
  do  
  {  
  bFlag=FALSE;  
  for(x=0;x<KEYCOUNT;x++)  
  {  
  for(y=0;y<FLAGCOUNT+1;y++)  
  {  
  nTestMap[x][y]=nFollowMap[x][y];  
  }  
  }  
  for(x=0;x<COUNT;x++)  
  {  
  for(y=3;sExpr[x][y]!='\0';y++)  
  {  
  if(fnIsKey(sExpr[x][y])!=FALSE)  
  {  
  if(fnIsFlag(sExpr[x][y+1])!=FALSE   &&   sExpr[x][y+1]!='\0')  
  nFollowMap[fnIsKey(sExpr[x][y])][fnIsFlag(sExpr[x][y+1])]=TRUE;  
  else   if(fnIsKey(sExpr[x][y+1])!=FALSE)  
  {  
  for(m=0;m<FLAGCOUNT;m++)  
  {  
  if(nFirstMap[fnIsKey(sExpr[x][y+1])][m]!=FALSE)  
  nFollowMap[fnIsKey(sExpr[x][y])][m]=TRUE;  
  }    
  if(nFirstMap[fnIsKey(sExpr[x][y+1])][FLAGCOUNT]!=FALSE)  
  {  
  for(m=0;m<FLAGCOUNT;m++)  
  {  
  if(nFollowMap[fnIsKey(sExpr[x][0])][m]!=FALSE)  
  nFollowMap[fnIsKey(sExpr[x][y])][m]=TRUE;  
  }  
  }  
  }      
  else   if(sExpr[x][y+1]=='\0')  
  {  
  for(m=0;m<FLAGCOUNT;m++)  
  {  
  if(nFollowMap[fnIsKey(sExpr[x][0])][m]!=FALSE)  
  nFollowMap[fnIsKey(sExpr[x][y])][m]=TRUE;  
  }  
  }  
  }  
  }  
  }  
  for(x=0;x<KEYCOUNT;x++)  
  {  
  for(y=0;y<FLAGCOUNT;y++)  
  {  
  if(nTestMap[x][y]!=nFollowMap[x][y])  
  bFlag=TRUE;  
  }  
  }  
  }   while   (bFlag==TRUE);  
  }  
   
  void   fnSetAssayMapFinish()  
  {  
  int   x,y,m;  
  for(x=0,y=FLAGCOUNT;x<KEYCOUNT;x++)  
  {  
  for(m=0;nFirstMap[x][y]!=FALSE   &&   m<FLAGCOUNT;m++)  
  {  
  if(nFollowMap[x][m]   !=   FALSE)  
  nAssayMap[x][m]=nFirstMap[x][y];  
  }  
  }  
  }  
  /*  
  ********************************************************************************  
  该代码里太多的函数用来将字母转化为内码数字计算,速度受到影响,即使处理成为inline  
  类型,也会很大程度影响到执行速度,因此在开始的时候应该  
  能最好做到用内码代替字母,速度会大有改善,数值的比较比起字母的比较毕竟会快  
  没有使用stack和#结尾符,这里的语句分析直接在字符串里面进行  
  First表和follow表的生成过程中直接填充   分析表   用来将对应的语法规则填入  
  执行代码:  
   
  Expression             :               E->TM  
  Expression             :               M->+TM  
  Expression             :               T->FN  
  Expression             :               N->*FN  
  Expression             :               F->(E)  
  Expression             :               M->null  
  Expression             :               N->null  
  Expression             :               F->i  
  Sentence                 :               i*i+i#  
   
  Operator                 Stack       InPut  
   
  E->TM                       MT                             i*i+i#  
  T->FN                       MNF                           i*i+i#  
  F->i                         MNi                           i*i+i#  
  N->*FN                     MNF*                         *i+i#  
  F->i                         MNi                           i+i#  
  N->null                   M                               +i#  
  M->+TM                     MT+                           +i#  
  T->FN                       MNF                           i#  
  F->i                         MNi                           i#  
  N->null                   M                               #  
  M->null                                                   #  
   
   
    Measure   up   ^_^  
   
   
                                                                                  [Gemini   Works]  
  Press   any   key   to   continue  
  ********************************************************************************  
  */  
   
  呵呵,你能看得懂吗?看懂就联系我,binaryworld@163.com,我故意写的很烦琐,特别最后的三个函数Top

11 楼i_jianyong(北极之光@ textolap.com)回复于 2003-06-01 14:36:34 得分 0

C++   代码,   不要说有错误哦  
   
  struct   X   {  
      static   bool   f(   int*   p   )  
      {  
          return   p   &&   0[p]   and   not   p[1:>>p[2];  
      };  
  };  
   
  Top

12 楼shortppsy(小河)回复于 2003-06-01 15:03:28 得分 0

main()  
  {  
  printf("没有银弹");  
  }Top

13 楼dragonlw(潜龙在渊)回复于 2003-06-01 15:26:32 得分 0

呵呵。经典的!我借用的哟。好经典啊,你运行一下试试!  
  #include   <stdio.h>  
  main(t,_,a)  
  char   *a;  
  {  
  return!0<t?t<3?main(  
  -79,-13,a+main(  
  -87,1-_,main(  
  -86,0,a+1  
  )+a  
  )  
  ):1,t<_?main(  
  t+1,_,a  
  ):3,main(-94,-27+t,a)&&t==2?_<13?  
  main(2,_+1,"%s   %d   %d\n"):9:16:t<0?t<-72?main(_,t,  
  "@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l+,/n{n+,/+#n+,/#\  
  ;#q#n+,/+k#;*+,/'r   :'d*'3,}{w+K   w'K:'+}e#';dq#'l   \  
  q#'+d'K#!/+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw'   i;#   \  
  ){nl]!/n{n#';   r{#w'r   nc{nl]'/#{l,+'K   {rw'   iK{;[{nl]'/w#q#n'wk   nw'   \  
  iwk{KK{nl]!/w{%'l##w#'   i;   :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c   \  
  ;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;#'rdq#w!   nr'/   ')   }+}{rl#'{n'   ')#   \  
  }'+}##(!!/")  
  :t<-50?_==*a?putchar(31[a]):main(-65,_,a+1):main((*a=='/')+t,_,a+1)  
  :0<t?main(2,2,"%s"):*a=='/'||main(0,main(-61,*a,  
  "!ek;dc   i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m   .vpbks,fxntdCeghiry"),a+1);  
  }Top

14 楼snipersu()回复于 2003-06-01 16:13:55 得分 0

void   main()  
  {  
    while(1);  
  }Top

15 楼aiyinsitan(OhShit!) (Marlboro)回复于 2003-06-01 16:16:58 得分 0

#include   <stdio.h>  
   
  int   main(void)  
  {  
                    printf("hello,   world!\n");  
                    return   (0);  
  }Top

16 楼x2jack(捷可)回复于 2003-06-01 17:24:36 得分 0

void   main(void)  
  {  
        getch();  
  }Top

相关问题

  • 代码表有空格?..........
  • 经典源代码
  • 经典代码讲解
  • 请给些经典代码,.,,
  • 写出你的经典代码?给代码有分?
  • 分析经典代码,问题.
  • 求C#入门经典的源代码!!!!!!!!!!
  • 求<<C#入门经典>>的源代码??????????????????????????????
  • datagrid经典问题!跪求代码
  • 有空的请帮个忙

关键词

  • hp
  • 函数
  • sexpr
  • flagcount
  • fniskey
  • fnisflag
  • keycount
  • mnf
  • mni
  • nfirstmap

得分解答快速导航

  • 帖主:gengrun
  • ZhangYv
  • BinaryWorld

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo