正文

有兴趣的可以看一下这个龟免赛跑问题(末完整须补充只是一个模版)2006-11-17 17:37:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/wwwzrccom/20430.html

分享到:

// Chapter 5 of C++ How to Program// tortoiseandhare.cpp#include <iostream>using std::cout;using std::endl;#include <cstdlib>#include <ctime>#include <iomanip>using std::setw;const int RACE_END = 70;void moveTortoise(int &);void moveHare(int &);void printCurrentPositions(int,int);/* Write prototype for moveTortoise here *//* Write prototype for moveHare here *//* Write prototype for printCurrentPositions here */int main(){   int tortoise = 1;    int hare = 1;   int timer = 0;   srand( time( 0 ) );   cout << "ON YOUR MARK, GET SET\nBANG               !!!!"        << "\nAND THEY扲E OFF    !!!!\n";      // controls race   while ( tortoise != RACE_END && hare != RACE_END ) {       moveTortoise (tortoise);      moveHare(hare);      printCurrentPositions(tortoise,hare);       /* Write call for moveTortoise here */      /* Write call for moveHare here */      /* Write call for printCurrentPositions here */          ++timer;   } // end while   // determine winner   if ( tortoise >= hare )      cout << "\nTORTOISE WINS!!! YAY!!!\n";   else      cout << "Hare wins. Yuch.\n";   cout << "TIME ELAPSED = " << timer << " seconds" << endl;   return 0;   } // end main// move tortoise/* Write function definition header for moveTortoise here */void moveTortoise(int &turtlePtr ){   int x = 1 + rand() % 10;   // determine which move to make   if ( x >= 1 && x <= 5 )        // fast plod      turtlePtr += 3;   else if ( x == 6 || x == 7 )   // slip      turtlePtr -= 6;   else                           // slow plod      ++( turtlePtr );      // ensure that tortoise remains within subscript range   if ( turtlePtr < 1 )      turtlePtr = 1;   else if ( turtlePtr > RACE_END )      turtlePtr = RACE_END;} // end function moveTortoise// move hare/* Write function definition for moveHare here */void moveHare(int &hare){   int y = 1 + rand() % 10;if(y==1||y==2)hare=hare;else if(y==3||y==4)hare+=9;else if(y==5)hare-=12;else if(y==6||y==8)hare+=1;else (hare-=2);if (hare < 1 )     hare = 1;   else if (hare> RACE_END )     hare = RACE_END;   /* Write statements that move hare */   /* Write statements that test if hare is before      the starting point or has finished the race */} // end function moveHare// output positions of animals/* Write function definition for printCurrentPositions here */void printCurrentPositions(int bunnyPtr, int snapperPtr){   if ( bunnyPtr == snapperPtr )       cout << setw( bunnyPtr ) << "OUCH!!!";         else if ( bunnyPtr < snapperPtr )       cout << setw( bunnyPtr ) << "H"            << setw( snapperPtr - bunnyPtr ) << "T";   else      cout << setw( snapperPtr ) << "T"            << setw( bunnyPtr - snapperPtr ) << "H";   cout << "\n";} // end function printCurrentPositions

阅读(2551) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册