程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 《狂人C》—學會編輯代碼

《狂人C》—學會編輯代碼

編輯:關於C語言

/*
父親將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;
}
    初學者往往一個字符一個字符地寫代碼,不僅效率低,而且容易出錯。應該學會高效且不容易出錯地編輯代碼。
    以本題中的代碼為例:
    //老六分給老大之前
    xd6 =  xd6 / ( XD6_XD1 - 1 ) * XD6_XD1 ;
    xd1 -= xd6 / XD6_XD1 ;
    紅色的標識符均應通過"復制"、"粘貼"的辦法完成。這種方法不容易出錯,而且效率也高。
    “//老五分給老六之前”之後的兩行代碼應該通過復制前面兩行代碼之後,通過“查找”、“替換”或"復制"、"粘貼"的辦法完成。以後諸行代碼同樣應該依法炮制。
     一定要改掉逐個字符編輯代碼的習慣。     
綠色通道:好文要頂關注我收藏該文與我聯系

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved