zoukankan      html  css  js  c++  java
  • 学会编辑代码——《狂人C》习题解答4(第二章习题7)

       
    /*
    父亲将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\n" , 
              xd1 , xd2 , xd3 , xd4 , xd5 , xd6 );
      
      
      system("PAUSE");	
      return 0;
    }
    
        初学者往往一个字符一个字符地写代码,不仅效率低,而且容易出错。应该学会高效且不容易出错地编辑代码。
        以本题中的代码为例:
        //老六分给老大之前
        xd6xd6 / ( XD6_XD1 - 1 ) * XD6_XD1 ;
        xd1 -= xd6 / XD6_XD1 ;
        红色的标识符均应通过"复制"、"粘贴"的办法完成。这种方法不容易出错,而且效率也高。
        “//老五分给老六之前”之后的两行代码应该通过复制前面两行代码之后,通过“查找”、“替换”或"复制"、"粘贴"的办法完成。以后诸行代码同样应该依法炮制。
         一定要改掉逐个字符编辑代码的习惯。     
  • 相关阅读:
    题解 CF171G 【Mysterious numbers
    题解 P1157 【组合的输出】
    题解 P3955 【图书管理员】
    题解 P2036 【Perket】
    题解 CF837A 【Text Volume】
    题解 CF791A 【Bear and Big Brother】
    题解 CF747A 【Display Size】
    题解 P1332 【血色先锋队】
    题解 P2660 【zzc 种田】
    题解 P4470 【[BJWC2018]售票】
  • 原文地址:https://www.cnblogs.com/KBTiller/p/2062331.html
Copyright © 2011-2022 走看看