学会編集コード——《狂人C》練習問題解答4(第二章練習問題7)

1744 ワード

/*

   2520         。      :

"          1/8    ;

             1/7   ;

             1/6   ;

             1/5   ;

             1/4   ;

             1/3   "。

                      ,

              。              。

*/

#include <stdio.h>

#include <stdlib.h>



#define JUZI_ZONGSHU 2520

#define FENSHU  6



#define XD1_XD2 8

#define XD2_XD3 7

#define XD3_XD4 6

#define XD4_XD5 5

#define XD5_XD6 4

#define XD6_XD1 3



int main( void )

{

  int xd1 , xd2 , xd3 , xd4 , xd5 , xd6 ;//        

  

  //              

    xd1 

  = xd2 

  = xd3 

  = xd4 

  = xd5 

  = xd6 

  = JUZI_ZONGSHU / FENSHU ;

  

  //        

  xd6 =  xd6 / ( XD6_XD1 - 1 ) * XD6_XD1 ;

  xd1 -= xd6 / XD6_XD1 ;



  //        

  xd5 =  xd5 / ( XD5_XD6 - 1 ) * XD5_XD6 ;

  xd6 -= xd5 / XD5_XD6 ;



  //        

  xd4 =  xd4 / ( XD4_XD5 - 1 ) * XD4_XD5 ;

  xd5 -= xd4 / XD4_XD5 ;



  //        

  xd3 =  xd3 / ( XD3_XD4 - 1 ) * XD3_XD4 ;

  xd4 -= xd3 / XD3_XD4 ;

  

  //        

  xd2 =  xd2 / ( XD2_XD3 - 1 ) * XD2_XD3 ;

  xd3 -= xd2 / XD2_XD3 ;



  //        

  xd1 =  xd1 / ( XD1_XD2 - 1 ) * XD1_XD2 ;

  xd2 -= xd1 / XD1_XD2 ;





  printf("              :");

  printf("%d %d %d %d %d %d
" , xd1 , xd2 , xd3 , xd4 , xd5 , xd6 ); system("PAUSE"); return 0; }

初心者は往々にして1文字1文字でコードを書くので、効率が低いだけでなく、間違いやすい.効率的でエラーが発生しにくいようにコードを編集することを学ばなければならない.
この問題のコードを例にとります.
//老六がボスに配る前にxd 6=xd 6/(XD 6_XD 1-1)*XD 6_XD1 ;    xd1 -= xd6/XD6_XD1 ;
赤い識別子は、「コピー」、「貼り付け」の方法で完了します.この方法は間違いにくいし、効率も高い.
「//老五分老六前」の後の2行のコードは、前の2行のコードをコピーした後、「検索」、「置換」または「コピー」、「貼り付け」で完了する必要があります.以降の行コードも同様に法に従って砲制しなければならない.文字ごとにコードを編集する習慣を直さなければなりません.