test4.c

来自「c 的一些经典算法,满好的,适合初学者. 也可以当作小程序看,对初学者会很有帮」· C语言 代码 · 共 105 行

C
105
字号

#include "stdio.h"
#include "time.h"
#include "inc.h"

#define   MAX   30000


main()
{
  int i;
  unsigned long j;
  clock_t   start_time,end_time, during_time;

  start_time = clock();
  printf( "start_time=%d",start_time);

  printf("\n");
   /****************测试函数主体******************/


    for(j=0; j<3000000; j++)
    {
        /*Test_TimeSpace1(9); */
        /*Test_TimeSpace2(9); */

       /* Test_TimeSpace3(0);
        Test_TimeSpace3(1);
        Test_TimeSpace3(2);
       */

        Test_TimeSpace4(0);
        Test_TimeSpace4(1);
        Test_TimeSpace4(2);


     }
/**********************************************/

  end_time = clock();
  during_time= end_time - start_time;
  printf("end_time=%d",end_time);

  printf("\n\n");

  printf("during_time=%d",during_time);
  getch();

}


/***********************************************************/
/*空间换时间的典型做法在for循环中的应用*/
/***********************************************************/

/*改进前*/
int Test_TimeSpace1(uchar k)
{
      int i, j=1; 
      if((k<0) || (k>=10)) return -1;
      for(i=0; i<k; i++) j*=i;
      return j;
}

/*改进后*/
int Test_TimeSpace2( uchar k)
{
      int i, j=1; 
      static const int Table[10]={ 1, 2, 6, 24,120, 720, 5040, 40320, 362880, 3628800};
      if((k<0) || (k>=10)) return -1;
      return Table[k];
}

/***********************************************************/
/*空间换时间的典型做法在switch中的应用*/
/***********************************************************/
char Test_TimeSpace3 (uchar type)
{
     int code;
     switch(type)
     {
         case 0:
         code='A';
         break;
         case 1:
         code='B';
         break;
         case 2:
         code='C';
         break;

         default: code=-1;
         break;
        }
return code;
}

char Test_TimeSpace4 (uchar type)
{
    int  code;
    char  prosscesstype[3]={ 'A', 'B','C'};
    code=prosscesstype[type];
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?