这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 高校专区 » 岭南EE码农港 » c语言课程设计作业-龟兔赛跑

共10条 1/1 1 跳转至

c语言课程设计作业-龟兔赛跑

菜鸟
2014-11-16 17:01:59     打赏
#include<stdio.h>
#include<stdlib.h>
#include<time.h>/*所需头文件 */
#include<Windows.h>
void guitu(void);
main()
{
srand(time(NULL)); /*时间触发设置*/
guitu();/*   调用guitu函数*/
return 0;
}
void guitu() /*定义龟兔函数*/
{
int j,count=0,cou=0,number; /*定义变量*/
char printfun[71];
while(1)
{
for(j=0;j<70;j++)
{
printfun[j]=' ';
printfun[70]='|';
}
number=rand()%10+1; /*产生随机数*/
printf("\n");
if(number>=1&&number<=5)
{
count+=3; /*乌龟右移3格*/
if(count>70)
{
count=0; /*如超过70格,从头开始计数*/
}
printfun[count]='G';
}
if(number>=6&&number<=7)
{
count-=6;/*乌龟左移6格*/
if(count<0)
{
count=0;/*如退到0,则从0重新计数*/
}
printfun[count]='G';
}
if(number>=8&&number<=10)
{
count+=1; /*乌龟右移1格*/

if(count>70)
{
count=0;/*如超过70格,从头开始计数*/

}
printfun[count]='G';
}
if(number>=1&&number<=2)
{
cou+=0; /*兔子不动*/

if(cou>70)
{
cou=0;
}
printfun[cou]='T';
}
if(number>=3&&number<=4)
{
cou+=9;/*兔子右移9格*/
if(cou>70)
{
cou=0;/*如超过70格,从头开始计数*/ 
}
printfun[cou]='T';
}
if(cou==5)
{
cou-=12; /*兔子左移12格*/

if(cou<0)
{
cou=0; /*如退到0,则从0重新计数*/

}
printfun[cou]='T';
}
if(number>6&&number<=8)
{
cou+=1;/*兔子右移1格*/

if(cou<70)
{
cou=0; /*如超过70格,从头开始计数*/

}
printfun[cou]='T';
}
if(number>=9&&number<=10)
{
cou-=2;/*兔子左移2格*/
if(cou<0)
{
cou=0; /*如退到0,则从0重新计数*/

}
printfun[cou]='T';
}
if(count==cou) /*同时到达*/

{
printfun[count]='P';
}
printf("%s\n",printfun);
printf("\n");
if(count==70)
{
printf("gui win!!!\n");/*乌龟胜出*/

break;
}
if(cou==70)
{
printf("tui win!!!\n");     /*兔子胜出*/

break;

}


}
printf("ID:2013914213\n");
}

 

个人感想:系统的主要功能函数式guitu函数。其中通过sleep(1)函数使得“龟”、“兔”每秒钟走一步,变量countcou分别表示“龟”、“兔”的位置,赛道由数组char printfun[71]来实现。在while循环中,每次由函数number=rand()%10+1产生一随机数,按其值确定“龟”、“兔”前进的方向和步骤,“龟”或“兔”到达终点,即count==70cou==70时,跳出循环,产生比赛结果。c语言是一门高深的课程,没有一定的基础是无法设计出好的作品,今后的时间我一定要好好打好基础。

院士
2014-11-17 09:13:54     打赏
2楼
能不能有点文字说明?

专家
2014-11-17 09:30:21     打赏
3楼
肿么玩的?

菜鸟
2014-11-18 08:37:37     打赏
4楼
请按 http://forum.eepw.com.cn/thread/263633/1 的要求添加文字说明

菜鸟
2014-11-19 20:38:08     打赏
5楼

这个排版画面太美,不忍直视!


菜鸟
2014-11-19 21:57:11     打赏
6楼

#include<stdio.h>
#include<stdlib.h>
#include<time.h>                              
/* 所需头文件 */
#include<Windows.h>
void guitu
(void);
main()
{
srand(time(NULL));                             
/* 时间触发设置*/
guitu();                                            
/* 调用guitu函数*/
return 0;
}
void guitu()                                      
/*定义龟兔函数*/
{
int j,count=0,cou=0,number;             
/*定义变量*/
char printfun[71];
while(1)
{
for(j=0;j<70;j++)
{
printfun[j]=' ';
printfun[70]='|';
}
number=rand()
%10+1;                 /* 产生随机数*/
printf("\n");
if(number>=1&&number<=5)
{
count+=3;                                  
/*乌龟右移3*/
if(count>70)
{
count=0;                                   
/*如超过70格,从头开始计数*/
}
printfun[count]='G';
}
if(number>=6&&number<=7)
{
count-=6;
/*乌龟左移6*/

if(count<0)
{
count=0;                                   
/*如退到0,则从0重新计数*/

}
printfu
n[count]='G';
}
if(number>=8&&number<=10)
{
count+=1;                               
/*乌龟右移1*/


if(count>70)
{
count=0;                                 
/*如超过70格,从头开始计数*/


}
printfun[count]='G';
}
if(number>=1&&number<=2)
{
cou+=0;                                  
/*兔子不动*/


if(cou>70)
{
cou=0;
}
printfun[cou]='T';
}
if(number>=3&&number<=4)
{
cou+=9;                                
/*兔子右移9*/

if(cou>70)
{
cou=0;                                
/*如超过70格,从头开始计数*/

}
printfun[cou]='T';
}
if(cou==5)
{
cou-=12;                              
/*兔子左移12*/


if(cou<0)
{
cou=0;                                
/*如退到0,则从0重新计数*/


}
printfun[cou]='T';
}
if(number>6&&number<=8)
{
cou+=1;
/*兔子右移1*/


if(cou<70)
{
cou=0;                            
 /*如超过70格,从头开始计数*/


}
printfun[cou]='T';
}
if(number>=9&&number<=10)
{
cou-=2;
/*兔子左移2*/

if(cou<0)
{
cou=0;                           
/*如退到0,则从0重新计数*/


}
printfun[cou]='T';
}
if(count==cou)              
/*同时到达*/


{
printfun[count]='P';
}
printf("%s\n",printfun);
printf("\n");
if(cou
nt==70)
{
printf("gui win!!!\n");     
/*乌龟胜出*/


break;
}
if(cou==70)
{
printf("tui win!!!\n");     
/*兔子胜出*/


break;
}


}

}

 

个人感想:系统的主要功能函数式guitu函数。其中通过sleep(1)函数使得“龟”、“兔”每秒钟走一步,变量countcou分别表示“龟”、“兔”的位置,赛道由数组char printfun[71]来实现。在while循环中,每次由函数number=rand()%10+1产生一随机数,按其值确定“龟”、“兔”前进的方向和步骤,“龟”或“兔”到达终点,即count==70cou==70时,跳出循环,产生比赛结果。

 


菜鸟
2014-11-19 22:21:13     打赏
7楼
原谅我这一生不羁放纵爱自由,望从轻发落!!!

菜鸟
2014-11-19 22:28:45     打赏
8楼
这是个失败品,请忽略吧

菜鸟
2014-11-20 14:48:23     打赏
9楼
我严重同意

菜鸟
2014-11-26 19:41:13     打赏
10楼
请作者继续改进,在原位置修改,不要跟帖修改

共10条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]