24点游戏C语言代码及报告五篇

时间:2019-05-12 02:02:48下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《24点游戏C语言代码及报告》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《24点游戏C语言代码及报告》。

第一篇:24点游戏C语言代码及报告

24点游戏 一,问题分析

二十四点游戏规则:

给出4个数字,所给数字均为有理数,用加、减、乘、除(可加括号)把给出的数算成24.每个数必须用一次且只能用一次,先算出结果者获胜。步骤:比如下面的例子:

例:3、8、8、9,答案1:(9—8)×8×3 答案2: 3×8 ÷(9—8)

答案3:(9—8÷8)×3 利用3×8=24、4×6=24求解

我的主要想法是 首先穷举的可行性问题。我把表达式如下分成三类——

1、无括号的简单表达式。

2、有一个括号的简单表达式。

3、有两个括号的较复

4、杂表达式。

穷举的开始我对给出的四个数进行排列,其可能的种数为4*3*2*1=24。我利用一个嵌套函数实现四个数的排列

二,源程序及注释

//首先穷举的可行性问题。我把表达式如下分成三类—— //

1、无括号的简单表达式。

//

2、有一个括号的简单表达式。

//

3、有两个括号的较复

4、杂表达式。

//穷举的开始我对给出的四个数进行排列,其可能的种数为4*3*2*1=24。我利用一个嵌套函数实现四个数的排列 #include #include using namespace std;int number=0;string sss[5000];float cal(float a,float b,int p){ switch(p){ case 1:return a+b;case 2:return a-b;case 3:return a*b;case 4:return a/b;case 5:return b-a;case 6:return b/a;} } string link(string a,string b,int p){ string st=a;switch(p){ case 1:st+=(“+”+b);break;case 2:st+=(“-”+b);break;case 3:st+=(“*”+b);break;case 4:st+=(“/”+b);break;case 5:st=b+“-”+st;break;case 6:st=b+“/”+st;break;} st=“(”+st+“)”;return st;} void putout1(string c[],int p[]){ string st;st=link(c[1],c[2],p[1]);st=link(st,c[3],p[2]);st=link(st,c[4],p[3]);st=st.erase(0,1);st=st.erase(st.length()-1,1);number++;sss[number]=st;} void putout2(string c[],int p[]){ string st1,st2,st;st1=link(c[1],c[2],p[1]);st2=link(c[3],c[4],p[3]);st=link(st1,st2,p[2]);st=st.erase(0,1);st=st.erase(st.length()-1,1);number++;sss[number]=st;} void suan(float a[],string c[]){ int p[4];int i;float sum,sum1,sum2;for(p[1]=1;p[1]<=6;p[1]++)for(p[2]=1;p[2]<=6;p[2]++)for(p[3]=1;p[3]<=6;p[3]++){ sum=cal(a[1],a[2],p[1]);sum=cal(sum,a[3],p[2]);sum=cal(sum,a[4],p[3]);

if((sum-24>=0&&sum-24<1e-5)||(sum-24<=0&&sum-24>-1e-5))putout1(c,p);sum1=cal(a[1],a[2],p[1]);sum2=cal(a[3],a[4],p[3]);sum=cal(sum1,sum2,p[2]);

if((sum-24>=0&&sum-24<1e-5)||(sum-24<=0&&sum-24>-1e-5))putout2(c,p);} } void disorder(float a[],string c[]){ float b[5];string d[5];int i,j,k,l;for(i=1;i<=4;i++)for(j=1;j<=4;j++){ if(j==i)continue;for(k=1;k<=4;k++){ if(k==i||k==j)continue;for(l=1;l<=4;l++){ if(l==i||l==j||l==k)continue;b[1]=a[i];b[2]=a[j];b[3]=a[k];b[4]=a[l];d[1]=c[i];d[2]=c[j];d[3]=c[k];d[4]=c[l];suan(b,d);} } } }

int main(){ cout<<“请输入四个数字”;float a[5];int i,j;string c[5];for(i=1;i<=4;i++){cin>>a[i];if(a[i]==10)c[i]=“10” c[i]=int(a[i])+'0';} disorder(a,c);int v=1,u=0;for(i=1;i<=number;i++){v=1;for(j=1;j

三,运行结果显示

;else

四,调试和运行程序过程中产生的问题及采取的措施:

第二篇:C语言课程设计代码

#include “stdio.h” #include #include #define LEN sizeof(struct course)struct course { int cID;char name[50];float credit;int semester;struct course *next;};

void main(){ int n=0;struct course *head=NULL;void insert(struct course **head,struct course *cou);void Print(struct course **head,int *n);void Modify(struct course **head,int *n);void Require(struct course **head);void Creat(struct course **head,int *n);void Delete(struct course **head,int *n);void Fun(struct course **head,int *n);

Fun(&head,&n);}

void insert(struct course **head,struct course *cou){ struct course *p0,*p1,*p2;p2=p1=*head;p0=cou;if(*head){

while((p0->semester>p1->semester)&&(p1->next))

{

p2=p1;

p1=p1->next;

}

if(p0->semester

semester)

{

if(*head==p1)*head=p0;

else p2->next=p0;

p0->next=p1;}

else

{

if(p0->semester==p1->semester){ while((p0->cID>p1->cID)&&(p1->next)&&(p0->semester==p1->semester))

{

} if(p0->semester!=p1->semester){

} else {

if(p0->cID<=p1->cID){

if(*head==p1)*head=p0;else p2->next=p0;p2=p1;p1=p1->next;p2->next=p0;p0->next=p1;

p0->next=p1;

}

else

{p1->next=p0;p0->next=NULL;}

}

}

else

{p1->next=p0;p0->next=NULL;}

} } else

{

*head=p0;

p0->next=NULL;} }

void Print(struct course **head,int *n){ struct course *p;p=*head;if(*head){

if(*n==1)printf(“nThis %d record is:n”,*n);

else printf(“nThese %d records are:n”,*n);

printf(“semester cID

name

creditn”);

do

{ printf(“%-10d%-10d%-18s%-12.1f n”,p->semester,p->cID,p->name,p->credit);

p=p->next;

}while(p!=NULL);} else printf(“nList null!n”);}

void Modify(struct course **head,int *n){ struct course *p,*p2;int cID;if(*head){

Print(head,n);while(1){ printf(“nPlease input the cID which you want to modify:”);

scanf(“%d”,&cID);p2=p=*head;while(p->next&&(cID!=p->cID)){

p2=p;

p=p->next;} if(cID==p->cID){

printf(“Please input the new cID(1~60):”);

scanf(“%d”,&p->cID);

while(p->cID<0||p->cID>60)

{

printf(“nError!”);

printf(“nPlease input the new cID(1~60):”);

scanf(“%d”,&p->cID);

}

printf(“Please input the new semester(1~8):”);

scanf(“%d”,&p->semester);while(p->semester<0||p->semester>8)

{

printf(“nError!”);

printf(“nPlease input the new semester(1~8):”);

scanf(“%d”,&p->semester);

}

printf(“Please input the new credit:”);

scanf(“%f”,&p->credit);

printf(“Please input the new name:”);

scanf(“%s”,p->name);

if(p==*head)*head=p->next;

else p2->next=p->next;

insert(head,p);

break;

}

else printf(“%d not been found!n”,cID);

} } else {printf(“nList null!n”);} }

void Require(struct course **head){ struct course *p;float sum=0;int sem,i=0;printf(“nPlease input the semester which is required:”);

scanf(“%d”,&sem);p=*head;while(p){

if(sem==p->semester)

{

i++;if(i==1)printf(“nsemester cID

name

creditn”);printf(“%-10d%-10d%-18s%-12.1f n”,p->semester,p->cID,p->name,p->credit);

sum=sum+p->credit;

}

p=p->next;} printf(“The sum of credit in this term is:%.1fn”,sum);}

void Creat(struct course **head,int *n){ struct course *p1;while(1){

p1=(struct course *)malloc(LEN);

printf(“Please input the cID(1~60):”);

scanf(“%d”,&p1->cID);

while(p1->cID<0||p1->cID>60)

{

printf(“nError!”);

printf(“nPlease input the cID(1~60):”);

scanf(“%d”,&p1->cID);

}

if(p1->cID==0)break;

printf(“Please input the semester(1~8):”);

scanf(“%d”,&p1->semester);

while(p1->semester<0||p1->semester>8)

{

printf(“nError!”);

printf(“nPlease input the semester(1~8):”);scanf(“%d”,&p1->semester);

}

} } printf(“Please input the credit:”);scanf(“%f”,&p1->credit);printf(“Please input the name:”);scanf(“%s”,p1->name);insert(head,p1);*n=*n+1;printf(“nYou can continue until the cID is ”0“!n”);Print(head,n);void Delete(struct course **head,int *n){

struct course *p1,*p2;int cID;Print(head,n);if(*head){ printf(“Please input the cID of the course which you want to delete:”);scanf(“%d”,&cID);p1=*head;

while(cID!=p1->cID&&p1->next!=NULL)

{

p2=p1;

p1=p1->next;

}

if(cID==p1->cID)

{

if(p1==*head)*head=p1->next;

else p2->next=p1->next;

printf(“Have delete cID:%dn”,cID);

*n=*n-1;

}

else printf(“%d not been found!n”,cID);} }

void Fun(struct course **head,int *n){ char num;

while(1)

{

system(“cls”);

puts(“**************** Main Menu ******************”);

puts(“* 1.Add Records

2.Print Records

*”);

puts(“* 3.Delete Records

4.Modify Records *”);

puts(“* 5.Require Records 6.Exit

*”);

printf(“Please input your choice: ”);

scanf(“%d”,&num);

switch(num)

{

case 1:Creat(head,n);break;

case 2:Print(head,n);break;

case 3:Delete(head,n);break;

case 4:Modify(head,n);break;

case 5:Require(head);break;case 6:exit(0);break;

default: break;

}

printf(“nPress ”Enter“ to continue!”);getchar();getchar();

} }

第三篇:校运动会管理系统报告C语言(含完整代码)

目录 陈

一、程序分析与设计.......................................................................................................................2

二、流程图.......................................................................................................................................4

三、源程序清单...............................................................................................................................4

四、调试过程.................................................................................................................................15

五、程序有待改进的地方.............................................................................................................19

六、本次实习的收获和建议.........................................................................................................19 附录.................................................................................................................错误!未定义书签。

一、程序分析与设计

(标题四号宋体加黑,正文五号宋体,行间距-固定值18,首行缩进2字符)

1.题目描述

初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数;即要求输入一些基础数据,如院系名称,每个院系参赛选手及选手编号。竞赛项目名称与代号。这些数据存储在文本文件中,不需要每次都单条录入。各项目名次取法有如下几种:

取前4名:第1名得分6,第2名得分4,第3名得分2,第4名得分1; 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。

所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。2.需求分析

根据题目要求应提供键盘式菜单实现功能选择,还应提供信息的输入操作,由于在程序中提供查询功能所以应有显示、查找等操作。3.总体设计

根据上面的需求分析,可以将这个系统的设计分为

1、信息输入模块

2、比赛结果录入模块

3、查询模块。具体校际运动会管理系统分为 信息的输入、结果的输入、学校各个项目的得分的查寻、总体报表的生成。4.详细设计(1)主函数

主函数一般设计的比较简洁,只提供输入,处理和输出部分的函数调用。其中功能模块用菜单方式选择。(2)密码登陆函数

首先进入欢迎界面,提示用户输入密码进入系统,密码输入次数限制为三次,三次输入错误则退出系统,登陆成功显示菜单栏(3)菜单函数

提醒用户根据要求选择功能,以及多次功能选取(4)输入函数

进入该功能后提醒用户输入相应信息,即数据结构,数据结构采用结构体的形式,选手结构体成员包括选手的姓名、编号、各项目的成绩排名、选手所在学院等。(5)查找函数

提醒用户输入运动员的姓名或编号,根据姓名或编号逐一比对信息,若条件满足则输出该选手的数据,若不满足则返回‘你要找的运动员未找到’(6)排序函数

根据运动员的百米成绩进行冒泡排序,并输出结果(7)修改函数

提醒用户输入运动员的姓名,根据姓名逐一比对信息,若找到则提供修改选项,对数据进行覆盖(8)得分计算函数

根据用户输入各项成绩排名,进行得分运算 并得出学院排名(9)删除函数 用于输入信息的删除(10)插入函数 用于输入新的信息(11)保存函数

将用户输入的信息保存到文本文件中(12)显示函数 显示用户保存的信息

二、流程图

三、源程序清单

(此部分采用小五号宋体,行间距-固定值14)#include #include #include #include #include #define load sizeof(student)#define N 7 void read();void save();

int size=3;struct student {

void input()//输入原始数据// {

} void find()//查找函数// {

system(“cls”);printf(“t************查找界面************n”);char fs[20];read();printf(“输入你要查找运动员的号码或姓名:”);scanf(“%s”,&fs);for(int i=0;i

printf(“%st%st%dt%dt%dt%dt%sn”,stu[i].num,stu[i].name,stu[i].scorem,stu[i].scor

} else if(strcmp(stu[i].name,fs)==0){ printf(“你要找的运动员已找到:n”);break;if(strcmp(stu[i].num,fs)==0){ printf(“你要找的运动员已找到:n”);printf(“该生的号码,姓名,100米成绩,铅球成绩,跳高成绩,跳远成绩,系名:n”);printf(“%st%st%dt%dt%dt%dt%sn”,stu[i].num,stu[i].name,stu[i].scorem,stu[i].scoreq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);scanf(“%s%s%d%d%d%d%s”,&stu[i].num,&stu[i].name,&stu[i].scorem,&stu[i].scoreq,&stu[i].printf(“输出运动员号码,姓名,100成绩,铅球成绩,跳高成绩,跳远成绩,系名:n”);for(i=0;i

} printf(“该生的号码,姓名,100米成绩,铅球成绩,跳高成绩,跳远成绩,系名:n”);printf(“%st%st%dt%dt%dt%dt%sn”,stu[i].num,stu[i].name,stu[i].scorem,stu[i].scor

} } else {

} printf(“你要找的运动员未找到:n”);printf(“该运动员缺赛或不存在!”);break;break;eq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);void paixu()//排序函数// {

} void xiugai()//修改函数// {

printf(“%st%st%dt%dt%dt%dt%sn”,stu[i].num,stu[i].name,stu[i].scorem,stu[i].scorsystem(“cls”);printf(“t************修改界面************n”);char ch2[20],c;char num[10],name[20];int scorem,scoreq,scoreg,scorey,i;char ximing[20];printf(“原始数据:n”);/*for(int i=0;i

system(“cls”);printf(“t************排序界面************n”);printf(“对一百米的成绩排序:n”);for(int i=0;i

} printf(“排序后:n”);for(i=0;i

} if(stu[i].scorem

} temp=stu[i];stu[i]=stu[j];stu[j]=temp;

eq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);*/

read();printf(“输入你要修改运动员的姓名:”);scanf(“%s”,ch2);for(i=0;i

if(strcmp(stu[i].name,ch2)==0){ printf(“1.修改号码n2.修改姓名n3.修改100米成绩n4.修改铅球成绩n5.修改跳高成绩n6.修改跳远成绩n7.修改系名n”);

scanf(“%d”,&c);switch(c){ case 1: { printf(“请输入你修改的运动员号码:”);scanf(“%s”,&num);strcpy(stu[i].num,num);break;} case 2: { printf(“输入你修改的运动员姓名:n”);scanf(“%s”,&name);strcpy(stu[i].name,name);break;} case 3: { printf(“输入你修改的运动员100米成绩:”);scanf(“%d”,&scorem);stu[i].scorem=scorem;break;} case 4: { printf(“输入你修改运动员铅球成绩:”);scanf(“%d”,&scoreq);stu[i].scoreq=scoreq;break;} case 5: { printf(“输入你修改运动员跳高成绩:”);scanf(“%d”,&scoreg);stu[i].scoreq=scoreq;break;} case 6: {

}

} printf(“输入你修改运动员跳远成绩:”);scanf(“%d”,&scorey);stu[i].scorey=scorey;break;case 7: {

} default: } printf(“修改后的运动员数据:n”);for(int i=0;i

if(stu[i].scoreq==1)y=3;else if(stu[i].scoreq==2)y=2;else if(stu[i].scoreq==3)y=1;else y=0;printf(“%st%st%dt%dt%dt%dt%sn”,stu[i].num,stu[i].name,stu[i].scorem,stu[i].scorread();printf(“各系的得分总分排序:n”);for(i=0;i

if(stu[i].scorem==1)x=3;else if(stu[i].scorem==2)x=2;else if(stu[i].scorem==3)x=1;else x=0;eq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);*/ system(“cls”);printf(“t************得分界面************n”);int x,y,z,w,o,p,q,i;char ch1[20]=“ruanjian”,ch2[20]=“shumei”,ch3[20]=“guangdian”;printf(“原始数据:n”);/*for(int i=0;i

}

} if(stu[i].scoreg==1)z=3;else if(stu[i].scoreg==2)z=2;else if(stu[i].scoreg==3)z=1;else z=0;if(stu[i].scorey==1)w=3;else if(stu[i].scorey==2)w=2;else if(stu[i].scorey==3)w=1;else w=0;for(i=0;i

} if(strcmp(stu[i].ximing,ch1)==0){

} else if(strcmp(stu[i].ximing,ch2)==0){

} else if(strcmp(stu[i].ximing,ch3)==0){

} q=x+y+z+w;printf(“光电系总得分:%dn”,q);

p=x+y+z+w;printf(“数媒系总得分:%dn”,p);o=x+y+z+w;printf(“软件系总得分:%dn”,o);void shancchu()//删除函数// {

printf(“%st%st%dt%dt%dt%dt%sn”,stu[i].num,stu[i].name,stu[i].scorem,stu[i].scorread();printf(“输入你要删除的运动员的姓名:n”);scanf(“%s”,&ch1);for(i=0;i

if(strcmp(stu[i].name,ch1)==0){ for(int j=i;j

} {

} } stu[j]=stu[j+1];printf(“删除后的运动员数据:n”);for(i=0;i

void charu()//插入函数

system(“cls”);int a;printf(“t************插入界面************n”);printf(“请输入要插入的运动员个数:”);scanf(“%d”,&a);for(int j=0;j

} printf(“输入要插入的运动员数据:n”);printf(“号码:”);scanf(“%s”,&stu[size].num);printf(“姓名:”);scanf(“%s”,&stu[size].name);printf(“100米成绩:”);scanf(“%d”,&stu[size].scorem);printf(“铅球成绩:”);scanf(“%d”,&stu[size].scoreq);printf(“跳高成绩:”);scanf(“%d”,&stu[size].scoreg);printf(“跳远成绩:”);scanf(“%d”,&stu[size].scorey);printf(“系名:”);scanf(“%s”,&stu[size].ximing);for(int i=0;i

for(int j=i+1;j

if(stu[i].scorem

} temp=stu[i];stu[i]=stu[j];stu[j]=temp;size++;printf(“插入后运动员数据:n”);for(int i=0;i

} void save(){

} void read(){

} printf(“%st%st%dt%dt%dt%dt%sn”,stu[i].num,stu[i].name,stu[i].scorem,stu[i].scor} fclose(fp);

//关闭文件 eq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);fscanf(fp,“%st%st%dt%dt%dt%dt%sn”,&stu[i].num,&stu[i].name,&stu[i].scorem,&stu[i].scoreq,&stu[i].scoreg,&stu[i].scorey,&stu[i].ximing);for(int i=0;i

if((fp=fopen(“e:xiao.txt”,“r”))==NULL){

} fscanf(fp,“运动员号码,姓名,100成绩,铅球成绩,跳高成绩,跳远成绩,系名:n”);printf(“打不开文件Cannot open the filen”);return;

//若打不开则返回菜单

//为输出打开一个二进制文件,为只fprintf(fp,“%st%st%dt%dt%dt%dt%sn”,stu[i].num,stu[i].name,stu[i].scorem,stu[i].fclose(fp);

//关闭文件 scoreq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);printf(“保存成功....Save the file successfully!n”);FILE *fp;

//定义指向文件的指针

//char outfile[20];//printf(“输出文件例如:c:score Enter outfile name,for example c:scoren”);//scanf(“%s”,outfile);if((fp=fopen(“e:xiao.txt”,“w”))==NULL){

} printf(“n保存中...Saving the file......n”);//fprintf(fp,“运动员号码,姓名,100成绩,铅球成绩,跳高成绩,跳远成绩,系名:n”);for(int i=0;i

//若打不开则返回菜单

//为输出打开一个二进制文件,为只

//保存数据到文件函数 printf(“%st%st%dt%dt%dt%dt%sn”,stu[i].num,stu[i].name,stu[i].scorem,stu[i].scorsave();eq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);写方式

写方式 int login(char password[]){

//密码校对函数*********** static char key[10]=“12345”;if(strcmp(password,key)==0)return 1;else return 0;}

void Logon(){

} if(s==0){

count++;while(count!=3){

printf(“请再次输入密码:n”);scanf(“%s”,password);s=login(password);if(s==1)char a;printf(“n”);printf(“****************欢迎进入校运动会管理界面****************n”);printf(“********************************************************n”);printf(“********************登陆请按回车键**********************n”);printf(“********************************************************n”);printf(“n”);scanf(“%c”,&a);if(a=='n'){

FILE *fp;char password[10];int count=0,s;printf(“您有三次输入机会!nn”);printf(“请输入密码:n”);scanf(“%s”,password);s=login(password);if(s==1){

fp=fopen(“C:UsersAdministratorDesktop实训password.txt”,“w”);fprintf(fp,“%s”,password);fclose(fp);system(“CLS”);printf(“密码正确!n”);printf(“********************************************************n”);printf(“***************************欢迎进入*********************n”);printf(“********************************************************nnn”);

//比较输入字符和系统设定的密码是否相同

}

}

}

} {

fp=fopen(“C:UsersAdministratorDesktop实训fprintf(fp,”%s“,password);fclose(fp);system(”CLS“);printf(”密码正确!n“);password.txt”,“w”);printf(“********************************************************n”);printf(“***************************欢迎进入*********************n”);printf(“********************************************************n”);} if(s==0)count++;return;if(count==3)printf(“你已经错误输入3次,系统退出!n”);exit(0);else exit(1);void menu(){

int ch1;char ch2;struct tm *pt;/*定义时间结构体*/ time_t t;t=time(NULL);pt=localtime(&t);/*读取系统日期并把它放到结构体中*/ do{

{ printf(“tt当前系统日期:%d-%d-%dn”,pt->tm_year+1900,pt->tm_mon+1,pt->tm_mday);printf(“======================菜单=====================n”);printf(“ 1.输入 printf(” 3.排序 printf(“ 5.得分 printf(” 7.插入 printf(“ 9.显示

2.查找 4.修改 6.删除 8.保存

n”);n“);n”);n“);/*显示当前系统日期*/

0.退出n”);printf(“=n”);printf(“请选择功能<1-8>:[ ]bb”);//getchar();scanf(“%d”,&ch1);switch(ch1)

}

}

case 1:

input();break;find();break;paixu();break;xiugai();break;defen();break;shancchu();break;charu();break;save();break;read();break;exit(0);printf(“未进行任何操作!”);case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 0: default: printf(“n”);printf(“想要继续操作请按yn”);getchar();scanf(“%2c”,&ch2);

//条件判断 }while(ch2=='y');

void main(){

} system(“color 3f”);//Logon();menu();

四、调试过程

在程序运行的过程中,出现了很多的错误。有很复杂的问题,也不乏许多低级的错误。在写入文件的时候,首先我用的是fwrite,而在读入文件的时候用的是fread,后来才发现这两个语句都只是对二进制的文件进行操作,实际上我们要用到的fscanf、fprintf这两个语句。修改完的代码 FILE *fp;//定义指向文件的指针 if((fp=fopen(“e:xiao.txt”,“r”))==NULL)

//为输出打开一个二进制文件,为只写方式

fscanf(fp,“%st%st%dt%dt%dt%dt%sn”,&stu[i].num,&stu[i].name,&stu[i].scorem,for(int i=0;i

}

fscanf(fp,“运动员号码,姓名,100成绩,铅球成绩,跳高成绩,跳远成绩,系名:n”);printf(“打不开文件Cannot open the filen”);return;

//若打不开则返回菜单

&stu[i].scoreq,&stu[i].scoreg,&stu[i].scorey,&stu[i].ximing);printf(“%st%st%dt%dt%dt%dt%sn”,stu[i].num,stu[i].name,stu[i].scorem,stu[i].scoreq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);} fclose(fp);

//关闭文件 做菜单功能多次选择时,令用户输入字符进行选择,然而程序总是退出,后来才知道‘n’也被算入用户输入的字符内,要在字符输入后添加getchar()才能避免菜单失效 做显示函数,屏幕显示异常,总是反复显示相同数据和乱码,原来是结构体初始化,当中的数组已经存储了数据,在显示时与函数同时输出了,要再定义一个相同的数组应用它输出。(1)登陆

(2)菜单

(3)输入

(4)查找

(5)排序

(6)修改

(7)得分

(8)删除

(9)插入

(10)保存

(11)退出

五、程序有待改进的地方

六、本次实习的收获和建议

通过这次课程设计我得出一个结论:知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,比如说指针。编程时要养成良好的风格,注意相同内容的缩进和对齐。这样做,可以使程序代码出错的情况下,可以快速并且便捷的查找到错误的行,利于很好的修改。

在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益。

在本次实践中,给我印象最为深刻的是在文件删除程序的编译过程中,这个程序将是关键。老天不会让我太过顺利,他在这最后的时刻设置的障碍,但是我鼓起勇气,到处查找资料,终于让我实现了这个函数,谢谢给我指点迷津的朋友和同学。对我而言,知识上的收获重要,精神上的丰收是可喜的。挫折是一份财富,经历是一份拥有。这次实际操作必将成为我们人生旅途上一个非常美好的回忆!

第四篇:C语言课设 贪食蛇 含完整代码 课设报告

《c语言课程设计》课程设计报告

课程主题:

聪明的小蛇 Smart Snake 需求分析

【阐述课程设计应该完成的功能】

使用键盘的上下左右键来控制蛇的运动方向,ESC键退出,显示现在得分,三个难度选择(每一关地图不同,小蛇移动速度不同)系统分析和设计

2.1 数据结构的设计和选择的理由

本游戏中涉及的主要数据结构是如何表示运动的蛇、食物状态等问题。

2.1.1 蛇是由一连串举行组成,用结构体数组表示蛇每一节的横纵坐标。用数组实现

struct Snake { int x[N];int y[N];int node;/*蛇的节数*/ int direction;/*蛇移动方向*/ int life;/* 蛇的生命,0活着,1死亡*/ }snake;//这是蛇的结构体

小蛇是在不断的运动的,我们研究蛇的运动可以发现这样的特点: 1.蛇头由键盘控制,在无操作的时候蛇需要以原来的方向继续前进 2.运动时,蛇身后面一节移动到前面一节的位置。2.1.2 关于食物有两个属性: 1.坐标位置

2.状态:存在,或被吃。

(由于三者的存在状态基本相同所以我们用一个结构体表示)struct Food { int x;/*食物的横坐标*/ int y;/*食物的纵坐标*/ int yes;/*判断是否要出现食物的变量*/ }food;/*食物的结构体*/

2.2 系统模块划分和模块结构 开始动画

游戏开始界面 游戏过程界面 游戏结束界面 2.3 流程图

2.4 数据类型、全局变量和函数说明

2.4.1数据类型&2.4.2全局变量 #include “stdafx.h” #include “graphics.h” #include “stdlib.h” #include “conio.h” #include “time.h” #include “stdio.h” #include “snake.h” #pragma comment(lib,“Winmm.lib”)//播放音乐 #ifndef SNAKE_H #define SNAKE_H #define LEFT 'a' #define RIGHT 'd' #define DOWN 's' #define UP 'w' #define ESC 27 #define N 200 #define ENTER 13 #define JACK 'j' #define KING 'k' #define LONG 'l' int score = 0;int Func = 0;int gamespeed = 200;//蛇运行速度 char mx1,mx2;int level=1;char string_score[100];char str[100];

2.5 涉及的函数

static void Init(void);/*图形驱动*/ static void Close(void);/*图形结束*/ static void Game_interface(void);/*游戏界面*/ static void GameOver(void);/*结束游戏*/ static void GamePlay(void);/*游戏过程*/ static void PrScore(void);/*输出成绩*/ static void textdown(void);//选关焦点乡下 static void textup(void);//选关焦点向上 static void choose(void);//选关界面 static void difficult(void);//难度选择 程序测试和运行结果

反复调试 效果良好,能正常运行 课程报告小结

【遇到的问题及解决方法分析等】

4.1小蛇和指示标走过有显示

解决方法:每次都用一块与背景色相同的的矩形覆盖。

4.2食物出现在边界上

解决方法:

if(level==1){ while(food.x%10!= 0)/*食物随机出现后必须让食物能够在整格内,这样才可以让蛇吃到*/ food.x++;while(food.y%10!= 0)food.y++;food.yes = 0;/*画面上有食物了*/ } if(level==2){while((food.x%10!= 0)||((food.x>=145)&&(food.x<=510))&&((food.y>=250)&&(food.y<=270)))/*食物随机出现后必须让食物能够在整格内,这样才可以让蛇吃到*/ food.x++;while(food.y%10!= 0)food.y++;food.yes = 0;/*画面上有食物了*/ }

/这段代码保证了食物不被产生在障碍上 附录 程序源代码:

// mff.cpp : Defines the entry point for the console application.//

#include “stdafx.h” #include “graphics.h” #include “stdlib.h” #include “conio.h” #include “time.h” #include “stdio.h” #include “snake.h” #pragma comment(lib,“Winmm.lib”)//播放音乐

int score = 0;int Func = 0;int gamespeed = 200;//蛇运行速度 char mx1,mx2;int level=1;char string_score[100];char str[100];

static void Init(void);/*图形驱动*/ static void Close(void);/*图形结束*/ static void Game_interface(void);/*游戏界面*/ static void GameOver(void);/*结束游戏*/ static void GamePlay(void);/*游戏过程*/ static void PrScore(void);/*输出成绩*/ static void textdown(void);static void textup(void);static void choose(void);static void difficult(void);int _tmain(int argc, _TCHAR* argv[]){

}

/*图形驱动*/ static void Init(void){ int gd=9,gm=2;

initgraph(&gd,&gm,“ ”);cleardevice();}

/* 开始画面,左上角坐标为(,),右下角坐标为(,)的围墙*/ static void Game_interface(void){ int i;int j;int k;

setcolor(YELLOW);/*setbkcolor(LIGHTGREEN);*/ setlinestyle(PS_SOLID,0,1);/*设置线型*/ for(i=50;i<=600;i+=10)/*画边框*/ { rectangle(i,40,i+10,49);/*上边框*/ rectangle(i,451,i+10,460);/*下边框*/ }

if(level==2){ for(j=150;j<=500;j+=10)

} if(level==3)///*画Level3下两条横向隔断*/ rectangle(j,245,j+10,254);/*画Level2下横向隔断*/ mciSendString(_T(“open 2.mp3 alias mymusic”), NULL, 0, NULL);mciSendString(_T(“play mymusic repeat”), NULL, 0, NULL);choose();return 0;system(“pause”);{ for(j=150;j<=500;j+=10)rectangle(j,180,j+10,189);for(k=150;k<=500;k+=10)rectangle(k,350,k+10,359);} for(i=40;i<=450;i+=10){ rectangle(50,i,59,i+10);/*左边框*/ rectangle(601,i,610,i+10);/*右边框*/ } }

/* 游戏主函数*/ static void GamePlay(void){ int i;srand(time(NULL));/*随机数发生器*/ food.yes = 1;/*1表示需要出现新食物,0表示已经存在食物*/ snake.life = 0;/*活着*/ snake.direction = 1;/*方向往右*/ snake.x[0] = 100;snake.y[0] = 100;snake.x[1] = 110;snake.y[1] = 100;snake.node = 2;/*节数*/ PrScore();/*输出得分*/ while(1)/*可以重复玩游戏,压ESC键结束*/ { while(!kbhit())/*在没有按键的情况下,蛇自己移动*/ { if(food.yes == 1)/*需要出现新食物*/ { food.x = rand()%400 + 60;food.y = rand()%350 + 60;if(level==1){ while(food.x%10!= 0)/*食物随机出现后必须让食物能够在整格内,这样才可以让蛇吃到*/ food.x++;while(food.y%10!= 0)food.y++;food.yes = 0;/*画面上有食物了*/ } if(level==2){while((food.x%10!= 0)||((food.x>=145)&&(food.x<=510))&&((food.y>=250)&&(food.y<=270)))/*食物随机出现后必须让食物能够在整格内,这样才可以让蛇吃到*/ food.x++;while(food.y%10!= 0)food.y++;food.yes = 0;/*画面上有食物了*/ }

if(level==3){while((food.x%10!= 0)||(((food.x < 530)&&(food.x > 135))&&((food.y < 185)&&(food.y > 185)))||(((food.x < 530)&&(food.x > 135))&&((food.y < 379)&&(food.y > 350))))/*食物随机出现后必须让食物能够在整格内,这样才可以让蛇吃到*/ food.x++;while(food.y%10!= 0)food.y++;food.yes = 0;/*画面上有食物了*/ }

}

if(food.yes == 0)/*画面上有食物了就要显示*/ { setcolor(GREEN);rectangle(food.x,food.y,food.x + 10,food.y-10);}

for(i=snake.node-1;i>0;i--)/*蛇的每个环节往前移动,也就是贪吃蛇的关键算法*/ { snake.x[i] = snake.x[i-1];snake.y[i] = snake.y[i-1];} /*1,2,3,4表示右,左,上,下四个方向,通过这个判断来移动蛇头*/ switch(snake.direction){ case 1: snake.x[0] += 10;break;case 2:

snake.x[0]-= 10;break;case 3: snake.y[0]-= 10;break;case 4: snake.y[0] += 10;break;} /* 从蛇的第四节开始判断是否撞到自己*/ for(i=3;i 595)||(snake.y[0] < 55)||(snake.y[0] > 455))/*蛇是否撞到墙壁*/ { GameOver();/*本次游戏结束*/ snake.life = 1;/*蛇死*/ } if(level==2){ if((snake.x[0] < 530)&&(snake.x[0] > 140)&&((snake.y[0] < 260)&&(snake.y[0] > 230)))/*蛇是否撞到level2中横向隔断*/ { GameOver();/*本次游戏结束*/ snake.life = 1;/*蛇死*/ } }

if(level==3){ if((((snake.x[0] < 520)&&(snake.x[0] > 145))&&((snake.y[0] < 195)&&(snake.y[0] > 175)))||(((snake.x[0] < 510)&&(snake.x[0] > 140))&&((snake.y[0] < 369)&&(snake.y[0] > 330))))/*蛇是否撞到level3中两条横向隔断*/ { GameOver();/*本次游戏结束*/ snake.life = 1;/*蛇死*/ } }

if(snake.life == 1)/*以上两种判断以后,如果蛇死就跳出内循环,重新开始*/ break;if((snake.x[0] == food.x)&&(snake.y[0] == food.y))/*吃到食物以后*/ { setcolor(BLACK);/*把画面上的食物东西去掉*/ rectangle(food.x,food.y,food.x+10,food.y-10);snake.x[snake.node] =-20;snake.y[snake.node] =-20;

/* 新的一节先放在看不见的位置,下次循环就取前一节的位置*/

snake.node++;/*蛇的身体长一节*/ food.yes = 1;/*画面上需要出现新的食物*/ score += 10;PrScore();/*输出新得分*/ } setcolor(RED);/*画出蛇*/

for(i=0;i

if(snake.life == 1)/*如果蛇死就跳出循环*/ break;

key=getch();/*接收按键*/ if(key == ESC)break;/*按ESC键退出*/ switch(key){ case UP: if(snake.direction!= 4)/*判断是否往相反的方向移动*/ snake.direction = 3;break;case RIGHT: if(snake.direction!= 2)snake.direction = 1;break;case LEFT: if(snake.direction!= 1)snake.direction = 2;break;case DOWN: if(snake.direction!= 3)snake.direction = 4;break;}

}/*endwhile(1)*/ }

/*游戏结束*/ static void GameOver(void){ cleardevice();PrScore();setcolor(RED);setfont(50, 0, _T(“楷体”));outtextxy(200, 200, _T(“GAME OVER”));getch();}

/*输出成绩*/ static void PrScore(void){ setfillstyle(YELLOW);// bar(235, 560, 300, 580);char s[5] = {''};setcolor(RED);setfont(50, 0, _T(“楷体”));outtextxy(200, 600, _T(“您的得分”));sprintf(s, “%d”, score);

} outtextxy(450, 600, s[0]);outtextxy(480, 600, s[1]);outtextxy(510, 600, s[2]);outtextxy(540, 600, s[3]);outtextxy(570, 600,s[4]);static void Close(void){ closegraph();mciSendString(_T(“stop mymusic”), NULL, 0, NULL);mciSendString(_T(“close mymusic”), NULL, 0, NULL);exit(0);}

void textdown(){

}

} break;

break;case 2: setcolor(BLACK);circle(250,320,10);

setcolor(WHITE);circle(250,230,10);Func=0;switch(Func){ case 0: setcolor(BLACK);

setcolor(WHITE);circle(250,275,10);Func++;break;circle(250,230,10);case 1: setcolor(BLACK);circle(250,275,10);

setcolor(WHITE);circle(250,320,10);Func++;

//功能按钮焦点向上 void textup(){

}

static void choose(void){

Init();initgraph(700, 700);setcolor(GREEN);

switch(Func){ case 0:

} setcolor(BLACK);circle(250,230,10);setcolor(WHITE);circle(250,320,10);Func=2;break;circle(250,275,10);

setcolor(WHITE);circle(250,230,10);Func=0;break;case 1: setcolor(BLACK);case 2: setcolor(BLACK);circle(250,320,10);

setcolor(WHITE);circle(250,275,10);Func=1;

break;

setfont(30, 0, _T(“楷体”));outtextxy(220, 150, _T(“Smart Snake”));

setcolor(WHITE);setfont(25, 0, _T(“隶书”));circle(250,230,10);outtextxy(290, 220, _T(“开始游戏”));setfont(25, 0, _T(“隶书”));outtextxy(290, 310, _T(“退出游戏”));outtextxy(150, 400, _T(“当前难度:”));outtextxy(150, 450, _T(“简单”));setcolor(YELLOW);setfont(20, 0, _T(“楷体”));outtextxy(270, 525, _T(“Presented By:漂浮de星儿”));outtextxy(270, 550, _T(“Date:-03-08”));outtextxy(270, 575, _T(“Verson:.1.3(The Final Edition)”));setfont(25, 0, _T(“隶书”));outtextxy(290, 265, _T(“难度选择(默认为简单)”));{

while(true)if(mx1=getch()){

} // 延时(降低CPU 占用率)switch(mx1){ case ENTER:

switch(Func){ case 0: cleardevice();

Game_interface();GamePlay();

Close();break;case 1:difficult();break;case 2:Close();break;};break;case DOWN:textdown();break;case UP:textup();break;

}

} } Sleep(20);

void difficult()//难度选择函数 {

outtextxy(150, 490, _T(“j-简单,k-中等,l-困难”));if(mx2=getch()){

case KING: //按键K

gamespeed=150;switch(level)switch(mx2)gamespeed=200;switch(level){case 1:setcolor(BLACK);

setcolor(WHITE);outtextxy(150, 450, _T(“简单”));level=1;break;{case JACK: //按键J outtextxy(150, 450, _T(“简单”));case 2: setcolor(BLACK);outtextxy(150, 450, _T(“中等”));

setcolor(WHITE);outtextxy(150, 450, _T(“简单”));level=1;break;case 3: setcolor(BLACK);outtextxy(150, 450, _T(“困难”));

setcolor(WHITE);outtextxy(150, 450, _T(“简单”));level=1;break;}break;{case 1:setcolor(WHITE);setcolor(WHITE);outtextxy(150, 450, _T(“中等”));outtextxy(150, 450, _T(“简单”));

}

}

level=2;break;case 2: setcolor(BLACK);outtextxy(150, 450, _T(“中等”));

setcolor(WHITE);outtextxy(150, 450, _T(“中等”));level=2;break;case 3: setcolor(BLACK);outtextxy(150, 450, _T(“困难”));

setcolor(WHITE);outtextxy(150, 450, _T(“中等”));level=2;break;}break;gamespeed=80;switch(level){case 1:setcolor(BLACK);

} setcolor(WHITE);outtextxy(150, 450, _T(“困难”));level=3;break;case LONG: //按键L outtextxy(150, 450, _T(“简单”));case 2: setcolor(BLACK);outtextxy(150, 450, _T(“中等”));

setcolor(WHITE);outtextxy(150, 450, _T(“困难”));level=3;break;case 3: setcolor(BLACK);outtextxy(150, 450, _T(“困难”));

setcolor(WHITE);outtextxy(150, 450, _T(“困难”));level=3;break;}break;Snake.h: #ifndef SNAKE_H #define SNAKE_H #define LEFT 'a' #define RIGHT 'd' #define DOWN 's' #define UP 'w' #define ESC 27 #define N 200 #define ENTER 13 #define JACK 'j' #define KING 'k' #define LONG 'l'

/*蛇的最大长度*/ char key;struct Food { int x;int y;int yes;}food;

struct Snake { int x[N];int y[N];int node;int direction;int life;}snake;#endif

/*控制按键*/ /*食物的横坐标*/ /*食物的纵坐标*/

/*判断是否要出现食物的变量*/ /*食物的结构体*/ /*蛇的节数*/ /*蛇移动方向*/

/* 蛇的生命,0活着,1死亡*/

第五篇:c语言迷宫问题代码实现

C语言迷宫问题代码如下:

#include

#include

#define LEN sizeof(SEAT)

#define MAXSIZE 100

#define LENGTH 30

typedef struct

{

int x;//横坐标

int y;//纵坐标

int di;//表示方向,0-3分别表示东南西北。

}SEAT;

struct StackList

{

SEAT stack[MAXSIZE];

int top;

}*Stack;

int EmptyStack(StackList*Stack)//判断是否为空栈

{

if(Stack->top==0)

return 0;

else

return 1;

}

int Move[4][2]={{0,1},{1,0},{0,-1},{-1,0}};//分别表示向东、西、南、北需要加上的坐标

int Mase[LENGTH][LENGTH]={0};//初始化为0

int length,width;

void InitMase()//在迷宫的外围添加一层“墙壁”(赋值为1),使得迷宫的任意一点都有四个方向

{

int i,j;

for(i=0;i

{

for(j=0;j

Mase[i][j]=1;

}

for(i=0;i

{

for(j=0;j

Mase[j][i]=1;

}

}

void InitStack(StackList*Stack)//初始化

{

Stack->top=0;

return;

}

int PushStack(StackList*Stack,SEAT CurSeat)//进栈

{

if(Stack->top==MAXSIZE-1)

return false;

else

{

Stack->stack[Stack->top].x=CurSeat.x;

Stack->stack[Stack->top].y=CurSeat.y;

Stack->stack[Stack->top].di=CurSeat.di;

Stack->top++;

return true;

}

}

int PopStack(StackList*Stack)//出栈

{

if(Stack->top==0)

return false;

else

{

Stack->top--;

return true;

}

}

int Pass(SEAT p)//判断当前是否可行

{

if(Mase[p.x][p.y]==0)

{

return true;

}

else

return false;

}

SEAT NextSeat(SEAT CurSeat)//查找下一个点,并返回

{

SEAT temp;

temp.x=CurSeat.x+Move[CurSeat.di][0];

temp.y=CurSeat.y+Move[CurSeat.di][1];

return temp;

}

void Mark(SEAT p)//标记已经走过的点,避免重复

{

Mase[p.x][p.y]=-1;

}

int PathWay(SEAT start,SEAT end)//找路线

{

Stack=(struct StackList*)malloc(sizeof(struct StackList));

InitStack(Stack);

SEAT CurSeat;

CurSeat.x=start.x+1;//由于多加了一层墙壁,因此坐标的值要加1

CurSeat.y=start.y+1;//

CurSeat.di=start.di;//

do

{

if(Pass(CurSeat))

{

PushStack(Stack,CurSeat);

Mark(CurSeat);

if(CurSeat.x==end.x+1&&CurSeat.y==end.y+1)//如果找到出口,返回{

return true;

}

else

{

int find=0;

while(CurSeat.di<3&&find==0)//找下一个结点的方向

{

CurSeat.di++;

SEAT temp;

temp=NextSeat(CurSeat);

if(Mase[temp.x][temp.y]==0)

{

temp.di=-1;

CurSeat=temp;

find =1;

}

}

}

}

else

{

if(EmptyStack(Stack))//当前的点不能走,出栈

PopStack(Stack);

if(EmptyStack(Stack))//当前的点变为前一个点

{

CurSeat=Stack->stack[Stack->top-1];

}

while(CurSeat.di==3&&EmptyStack(Stack))////当前的点找不到下一个点,出栈

{

PopStack(Stack);

CurSeat=Stack->stack[Stack->top-1];//当前的点变为前一个点}

if(EmptyStack(Stack))

{

int find=0;

while(CurSeat.di<3&&find==0)////找下一个结点的方向

{

CurSeat.di++;

SEAT temp;

temp=NextSeat(CurSeat);

if(Mase[temp.x][temp.y]==0)

{

temp.di=-1;

CurSeat=temp;

find =1;

}

}

}

}

}while(EmptyStack(Stack));

return false;

}

void PrintStack(StackList*Stack)//输出路线

{

if(Stack->top==0)

printf(“There is no route can be out of the mazen”);

else

{

int i;

for(i=0;itop;i++)

{

if(i!=0)

printf(“->(%d,%d)”,Stack->stack[i].x-1,Stack->stack[i].y-1);

else

printf(“(%d,%d)”,Stack->stack[i].x-1,Stack->stack[i].y-1);

}

}

}

void PrintMase()//输出迷宫

{

int i,j;

for(i=1;i

{

for(j=1;j

{

if(j!=1)

printf(“ %d”,Mase[i][j]);

else

printf(“%d”,Mase[i][j]);

}

printf(“n”);

}

}

int main()

{

int n;

SEAT start,end;

printf(“Please enter the maze of the length and width:n”);

scanf(“%d%d”,&length,&width);

printf(“Please enter the number of the maze wall unit(0

printf(“Please enter the labyrinth of the coordinates of the wall unit(0<=row,column):n”);while(--n>=0)

{

int x,y;

scanf(“%d%d”,&x,&y);

Mase[x+1][y+1]=1;

}

InitMase();

PrintMase();

printf(“Please enter the coordinates entrance(0<=x<%d,0<=y<%d):n”,length,width);

scanf(“%d%d”,&start.x,&start.y);

start.di=-1;

printf(“Please enter the coordinates exports(0<=x<%d,0<=y<%d):n”,length,width);

scanf(“%d%d”,&end.x,&end.y);

end.di=0;

if(PathWay(start,end))

PrintStack(Stack);

else

printf(“There is no route can be out of the mazen”);return 0;

} of the of the maze maze

下载24点游戏C语言代码及报告五篇word格式文档
下载24点游戏C语言代码及报告五篇.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    用C语言描述的五角星完整代码

    #include #include using namespace std; int main() { int i1,j1,k1,i2,j2,k2,i3,j3,k3,i4,j4,k4,m4,n4; printf("五角星:n"); for(i1=1;i1......

    数据结构经典题目及c语言代码总结

    《数据结构》课程设计题目 (程序实现采用C语言) 题目1:猴子选王(学时:3) 一堆猴子都有编号,编号是1,2,3 ...m,这群猴子(m个)按照1-m的顺序围坐一圈,从第1开始数,每数到第n个,该猴子就要离......

    c语言火车票管理系统基本代码

    #include #include #include #include int shoudsave = 0; int count1 = 0, count2 = 0, mark = 0, mark1 = 0; structtrain { }; structman { }; typedefstructnode {......

    RSA加密解密算法C语言代码

    #include #include #include #include #include #include #define MAX 100 #define LEN sizeof(struct slink) void sub(int a[MAX],int b[MAX] ,int c[MAX] ); stru......

    C语言程序设计扫雷游戏(汇编)

    C语言程序设计报告 题目: 扫雷小游戏设计 电子通信与物理学院 日期:2018年7月 12 日 指导教师评语 目录 1. 课程设计内容 ......................................................

    c语言井字游戏

    #include void main() { int hang,lie,count=0; int player,ying=0; char weizhi[3][3]={ {'-','-','-'}, {'-','-','-'}, {'-','-','-'} }; for(int i=0;i......

    C语言代码套用在Delphi编程中

    C语言代码套用在Delphi编程中(C++Builder(VC++)与 Delphi) Delphi适合用来开发应用程序,但是有时侯一些底层的东西可以直接使用C语言来开发.我在公司经常开发跟硬件相关的项目,......

    C语言课程设计《高速公路联网收费系统》代码

    作者:吴侠志 就读院校:东莞理工学院#include "stdafx.h" #define NUM 4 #define max_len 8 #include #include #include #include #include #include char *mytime(str......