块语言编程游戏答案(编程语言模块)
分享给大家块语言编程游戏答案的知识,也会包含编程语言模块的讲解,希望可以帮助大家解决现在的问题!
本文目录一览:
- 1、急求c语言编程答案
- 2、c语言编程题目及答案
- 3、C语言编程题(设计一个猜数字的小游戏)满意再加200分!!!!
- 4、C语言编程题,求答案+解释,谢谢大佬
- 5、c语言编程,掷骰子游戏,掷三个骰子,我与电脑轮流坐庄,输了换庄,游戏结束询问是否结束,如果结束?
- 6、一道C语言猜数游戏编程题
急求c语言编程答案
// test.cpp : 定义控制台应用程序的入口点。
//
// test1.cpp : Defines the entry point for the console application.
//
// test.cpp : Defines the entry point for the console application.
# include "stdafx.h"
# include "stdio.h"
# include "stdlib.h"
# include iostream
# include fstream
# include iomanip /*需引用的头文件*/
using namespace std;
struct node /*定义结点结构体保存结点信息*/
{
struct student /*定义结构体变量student保存学生的信息*/
{
char studentnumber[10]; /*学生学号*/
char studentname[5]; /*学生姓名*/
struct course /*定义结构体变量Course保存课程信息*/
{
float course1; //*********************************
float course2;
float course3; //各门课程的分数和平均分
float averagemark; //*****************************
};struct course allcourse;
};struct student stu;
struct node *next;
};
node *top;
struct node *createlist(char info[2][9],float marksinfo[]) //**************************
{
static struct node *new_node,*current_node;
new_node=(struct node *)new(node); /*建立新的结点*/
strcpy(new_node-stu.studentnumber,info[0]);
strcpy(new_node-stu.studentname,info[1]);
new_node-stu.allcourse.course1=marksinfo[0];
new_node-stu.allcourse.course2=marksinfo[1];
new_node-stu.allcourse.course3=marksinfo[2]; //对结点的元素付值
new_node-stu.allcourse.averagemark=(marksinfo[0]+
marksinfo[1]+marksinfo[2])/3;
new_node-next=NULL;
if (top==NULL)
{
top=new_node;
current_node=top;
}
current_node-next=new_node; /*指向新的结点*/
current_node=new_node; /*总指向新的结点*/
return top; //*****************************
}
void studentaverage(node *top) /*显示平均分函数*/
{
int i=0,maxcount=0; /*结点的数目maxcount*/
char response='y';
struct node *t=top;
fstream readcount("countsave.txt",ios::in); /*定义文件流*/
readcountmaxcount; /*将文件信息读入变量Maxcount*/
system("cls"); /*清屏*/
cout.flags(ios::left); /*输出格式为左对齐*/
coutsetw(14)"学号"setw(14)"姓名"setw(14)"课程1"setw(14)
"课程2"setw(14)"课程3""平均分"endl;
for (i=0;imaxcount;i++)
{
t=top;
top=top-next;
cout.flags(ios::left);
coutsetw(14)t-stu.studentnumbersetw(14)
t-stu.studentnamesetw(14)t-stu.allcourse.course1setw(14)t-stu.allcourse.course2
setw(14)t-stu.allcourse.course3setw(14)t-stu.allcourse.averagemarkendl;
}
system("pause");
}
void courseaverage(node *top)/*显示每门课程的平均分*/
{
int maxcount;
node *t=top;
float courseaverage_1=0.00;//********************************
float courseaverage_2=0.00;// 保存各门平均分的变量
float courseaverage_3=0.00;//********************************
fstream readcount("countsave.txt",ios::in);
readcountmaxcount;
system("cls");
for (int i=0;imaxcount;i++) //********************************************************************
{
t=top;
top=top-next; //遍历结点累加各门课程分数求平均值
float(courseaverage_1)+=float(t-stu.allcourse.course1);
courseaverage_2+=t-stu.allcourse.course2;
courseaverage_3+=t-stu.allcourse.course3;
} //********************************************************************
cout.flags(ios::left);
coutsetw(25)"课程1"setw(25)"课程2"setw(25)"课程3"endl;
coutsetw(25)float(courseaverage_1/(maxcount+1))setw(25)
courseaverage_2/float(maxcount+1)setw(25)courseaverage_3/float(maxcount+1)endl;
system("pause");
}
void orderWithAverageMark(node *top)/*按平均分排序*/
{
struct node *t=top;
static struct node *t0=top; /*保存结点的头*/
float averagemark_1=0.00;
float averagemark_2=0.00;
static char temp[10]; /*保存字符串的中间变量*/
float temp0; /*整型变量的中间变量*/
int maxcount;
int i;
bool flag; /*判断冒泡算法是否结束*/
fstream readcount("countsave.txt",ios::in||ios::out);
readcountmaxcount;
//*****************************************************************************
//冒泡排序
//if (count
for(int j=0;jmaxcount;j++)
{
top=t0; //结点指针指向表头,执行下一次排序
for (i=0;i(maxcount-1);i++)
{
flag=false;
t=top;
averagemark_1=t-stu.allcourse.averagemark;
averagemark_2=top-next-stu.allcourse.averagemark;
if (averagemark_1=averagemark_2)
{ //****************************************************************
strcpy(temp,t-stu.studentnumber);
strcpy(t-stu.studentnumber,top-next-stu.studentnumber);
strcpy(top-next-stu.studentnumber,temp);
strcpy(temp,t-stu.studentname);
strcpy(t-stu.studentname,top-next-stu.studentname);
strcpy(top-next-stu.studentname,temp);
temp0=t-stu.allcourse.course1;
t-stu.allcourse.course1=top-next-stu.allcourse.course1; //交换两结点的各数值
top-next-stu.allcourse.course1=temp0;
temp0=t-stu.allcourse.course2;
t-stu.allcourse.course2=top-next-stu.allcourse.course2;
top-next-stu.allcourse.course2=temp0;
temp0=t-stu.allcourse.course3;
t-stu.allcourse.course3=top-next-stu.allcourse.course3;
top-next-stu.allcourse.course3=temp0;
temp0=t-stu.allcourse.averagemark;
t-stu.allcourse.averagemark=top-next-stu.allcourse.averagemark;
top-next-stu.allcourse.averagemark=temp0; //*************************************************************
flag=true;
}
top=top-next;
}
}
//********************************************************************************************
}
int menu()//主菜单
{
int choice;
cout"*******************************************************************************"endl;
cout"* *"endl;
cout"* 1. 输入学生信息 *"endl;
cout"* *"endl;
cout"* 2. 显示学生平均分 *"endl;
cout"* *"endl;
cout"* 3. 显示每门课的平均分 *"endl;
cout"* *"endl;
cout"* 4. 显示总分在某平均分以上的学生 *"endl;
cout"* *"endl;
cout"* 5. 保存数据 *"endl;
cout"* *"endl;
cout"* 0. 退出 *"endl;
cout"* *"endl;
cout"*******************************************************************************"endl;
cout" "endl;
cout" 请选择:";
loop:cinchoice;
if (choice=0choice=5)
return choice;
else
goto loop;
}
int findstdentnumber(node *top,char namestr[5])
{
node *t=top;
int count;
fstream readcount("countsave.txt",ios::in);
readcountcount;
for (int i=0;icount;i++)
{
t=top;
top=top-next;
if (strcmp(namestr,t-stu.studentnumber)==0)
{
return 1;
}
}
return 0;
}
node *getinfo()
{
char response='y';
char studentinfo[2][9]; //二维数组保存学号和姓名
float studentcoursemark[3]; //保存各科成绩
int count=0;
static int count0;
void savestudentinfo(node *);
node *readstudentinfo();
void freelist(node *);
fstream readcount("countsave.txt",ios::in);/*读出结点值*/
readcountcount0;
readcount.close();
do
{
loop0: system("cls");
coutendl;
cout"请输入学号:";
cinstudentinfo[0];
coutendl;
if(findstdentnumber(top,studentinfo[0]))
{
cout"该学号已存在:"endl;
system("pause");
strcpy(studentinfo[0]," ");
goto loop0;
}
cout"姓名:";
cinstudentinfo[1];
coutendl;
cout"课程1:";
cinstudentcoursemark[0];
coutendl;
cout"课程2:";
cinstudentcoursemark[1];
coutendl;
cout"课程3:";
cinstudentcoursemark[2];
top=createlist(studentinfo,studentcoursemark);
count++;
coutendl;
cout"要继续吗?(y or n)";
cinresponse;
}while(count=0count30(response=='y'||response=='Y'));
orderWithAverageMark(top); /*对链表按学生平均分进行排序*/
fstream savecount("countsave.txt",ios::out);
savecount(count+count0);/*保存结点值并累加*/
savecount.close();
savestudentinfo(top); /*保存学生信息到文件*/
return top;
}
void savestudentinfo(node *top) /*保存学生信息*/
{
int i,numberofstudent;
node *head=top;
fstream count("countsave.txt",ios::in);
countnumberofstudent; /*获得学生个数*/
count.close();
orderWithAverageMark(head);
fstream student("studentinfosave.txt",ios::out);
system("cls");
//遍历链表,保存信息
for (i=0;inumberofstudent;i++)
{
head=top;
top=top-next;
studenthead-stu.studentnumber" "head-stu.studentname" "
head-stu.allcourse.course1" "head-stu.allcourse.course2" "
head-stu.allcourse.course3endl;
}
student.close();
//*********************
cout" 保存成功!"endl;
system("pause");
}
node *readstudentinfo() /*从文件读取学生信息*/
{
int numberofstudent;
char studentinfo[2][9];
float studentcoursemark[3];
fstream readcount("countsave.txt",ios::in);
fstream readstuinfo("studentinfosave.txt",ios::in);
readcountnumberofstudent;
for (int i=0;inumberofstudent;i++)
{
readstuinfostudentinfo[0]studentinfo[1]studentcoursemark[0]
studentcoursemark[1]studentcoursemark[2];
top=createlist(studentinfo,studentcoursemark);
}
readcount.close();
readstuinfo.close();
return top;
}
void find(node *top)/*查找函数*/
{
int lowmark=0,i=0,count=0;
struct node *t=top;
system("cls");
cout"请输入一个平均分的下限:";
cinlowmark;
system("cls");
fstream readcount("countsave.txt",ios::in);
readcountcount;
cout.flags(ios::left);
coutsetw(14)"学号"setw(14)"姓名"setw(14)"课程1"setw(14)
"课程2"setw(14)"课程3"setw(14)"平均分"endl;
if(lowmark=0lowmark=100)
{
for(int j=0;jcount;j++)
{
t=top;
top=top-next;
if(lowmark=(t-stu.allcourse.averagemark))//****************************显示满足条件的信息
{
coutsetw(14)t-stu.studentnumbersetw(14)t-stu.studentnamesetw(14)t-stu.allcourse.course1setw(14)
t-stu.allcourse.course2setw(14)t-stu.allcourse.course3setw(14)t-stu.allcourse.averagemarkendl;
i++;
}
} //****************************
if (i==0)
{
coutendl;
system("cls");
cout"找不学生信息!"endl;
}
cout"共找到"i"条信息!"endl;
system("pause");
}
}
void main()
{
top=readstudentinfo(); /*读取学生信息*/
for(;;)
{
system("cls");
switch(menu())
{
case 1:
top=getinfo();
break;
case 2:
studentaverage(top);
break;
case 3:
courseaverage(top);
break;
case 4:
find(top);
break;
case 5:
savestudentinfo(top);
break;
case 0:
exit(0);
break;
}
}
}
c语言编程题目及答案
#include stdio.h
#include math.h
void main(void)
{
double a;
double b;
double c;/* 以上三个变量分别对应三边 */
double sin_c;/* c边对应角的正玄值 */
double cos_c;/*c边对应角的余玄值*/
double cos_a;
double area; /* 三角形的面积 */
printf("输入a,b,c:");
scanf("%lf, %lf, %lf", a, b, c);
if(((a+b)c) (a-b)c)
{
printf("三边能够成三角形\n.");
cos_c = (a*a + b*b -c*c)/(2*a*b);
cos_a = (b*b + c*c - a*a)/(2*b*c);
if ((cos_c 0) (cos_a 0))
{
printf("三角形是锐角三角形。\n");
}
else if ((cos_c 0) || (cos_a 0))
{
printf("三角形是钝角三角形\n");
}
else
{
printf("三角形是直角三角形\n");
}
sin_c = sqrt(1- cos_c*cos_c);
area = a*b*sin_c/2;
printf("三角形的面积是%f.\n",area);
}
else
{
printf("三边不能构成三角形\n");
}
}
C语言编程题(设计一个猜数字的小游戏)满意再加200分!!!!
我看了楼上几个的答案,功能均不是很完善,所以我决定来试一试
,应该是今天最迟是明天可以贴出来了.希望不要那么快就结贴....
哈哈.....经过了几个小时的奋战.. 终于搞出来了!!!!!!!!!!!!!!!!!!! 你题目要求的功能几乎全部实现.希望你认真调试一下!!!!!!
调试环境.vc++ 6.0. 支持中文编译的编译器都可以调试运行的.
注意事项:如果编译器是不支持中文显示的就会出现乱码的,所以最好是在支持中文显示的编译器上面编译运行.例如:vc++ 6.0以上的版本!!!!
#include stdlib.h
#include stdio.h
#include time.h
#includewindows.h
#includestring.h
#define MAX 5
struct record
{
char name[10];
int sorce;
}rec[MAX],Rec;
int n; //记录行数
int num; //输入的数字
void display(); //开始界面
void xuanze(); //选择函数
void sys(int a); //操作函数
void newgame(); //新游戏
void vdisplay(); //浏览记录界面
void vxuanze(); //浏览选择函数
void help(); //帮助说明
void vsys(int a); //浏览操作函数
void viewsorce(); //按记录的顺序浏览
void viewname(); //按记录的姓名浏览
void viewsname(); //按记录和姓名浏览
void delrec(); //删除记录
int qushu(); //取数函数
int tishi(int aa); //提示函数
void addrec(int a); //判断并且增加记录
void recread(); //读取记录文件
void recwrite(); //写入记录文件
///////////////////////////////////////////////////////////////////////////////////////////////
////////////////////函数定义//////////////
void display() //开始界面
{
system("cls"); //清屏
printf(" ============================================\n");
printf(" ================数字竞猜游戏================\n");
printf(" ============================================\n");
printf("\n");
printf(" 1: 新游戏\n");
printf("\n");
printf(" 2: 浏览记录\n");
printf("\n");
printf(" 3: 帮助说明\n");
printf("\n");
printf(" 4: 清除记录\n");
printf("\n");
printf(" 5: 退出\n");
printf("\n");
printf(" ============================================\n");
xuanze();
}
void xuanze() //选择函数
{
int a;
printf("请输入你所选择的操作数:\n");
scanf("%d",a);
if(a==1||a==2||a==3||a==4||a==5)
{
sys(a);
}//选择相应的操作数执行函数
else
{
printf("错误的操作数!\n");;
printf("\n");
printf("请按任意键继续...\n");
getchar();
getchar();
display();
}
}
void sys(int a) //操作函数
{
switch(a)
{
case 1:newgame();break;
case 2:vdisplay();break;
case 3:help();break;
case 4:delrec();break;
case 5:exit(0);break; //退出
}
}
void newgame() //新游戏
{
recread();
system("cls"); //清屏
printf("\n");
printf("记录列表显示如下:\n");
printf("\n");
for(int i=0;iMAX;i++)
{
if(rec[i].sorce==0)printf(" ---空记录---\n");
else
printf(" 第 %d 名: 姓名: %s 分数 %d\n",i+1,rec[i].name,rec[i].sorce);
}
printf("\n");
printf("请按任意键继续...\n");
getchar();
getchar();//////////////上面列出记录文件中的记录
/////////////////////////////////////////////////////////////////////////////
int snum; //输入的数字
int sn=10; //机会次数
num=qushu(); //取数
L: system("cls"); //清屏
printf(" ============================================\n");
printf(" ================数字竞猜游戏================\n");
printf(" ============================================\n");
printf("\n");
printf(" 1: 显示答案\n");
printf(" ============================================\n");
printf("\n");
printf("请输入你猜想的四个数字(格式为9999样式)你还有 %d 次机会:\n",sn);
scanf("%d",snum);
if(snum10000 snum1000 || snum==1)
{
if(snum==1)
{
printf("你放弃了本局游戏!该四个数字是: %d\n",num);
printf("\n");
printf("请按任意键继续...\n");
getchar();
getchar();
display();
}
else
{
int flag=tishi(snum);
if(flag!=0 sn!=0)
{
sn--;
if(sn==0)
{
printf("真是遗憾!十次机会没有了!没有关系!下次继续!\n");
printf("\n");
printf("请按任意键继续...\n");
getchar();
getchar();
display();
}
printf("请按任意键继续猜...\n");
getchar();
getchar();
goto L;
}
else
{
if(sn!=0)addrec(sn);
else
{
printf("请按任意键继续...\n");
getchar();
getchar();
display();
}
}
}
}
else
{
printf("错误的操作数!\n");;
printf("\n");
printf("请按任意键继续...\n");
getchar();
getchar();
goto L;
}
}
void help() //帮助说明
{
system("cls"); //清屏
printf(" ============================================\n");
printf(" ==============数字竞猜游戏帮助==============\n");
printf(" ============================================\n");
printf("\n");
printf("1.新游戏中,你可以输入四位数,来竞猜系统自动生成的四个数字!,只有十次的机会,\n");
printf(" 每次机会都有相对应的提示,十次的机会利用完了还没有猜对的话就算失败!四个数字的\n");
printf(" 相应格式在游戏中会有提示!当成功猜出系统给定的数字时候,就会统计你的成绩.当你的\n");
printf(" 成绩比记录文件中的记录好的时候就会提示你是否把记录记录到记录文件中,当你选择是\n");
printf(" 的时候就会接着提示你输入你的名字.再按回车.没有意外就会提示保存成功!\n");
printf(" 还有要说明的是记录中的分数是越低就代表成绩越好!\n");
printf("2.浏览记录有三种方式!第一种只是列出记录中的姓名;第二种是列出记录中的成绩次序\n");
printf(" 第三种是姓名跟成绩一起列出来!\n");
printf("3.清除记录就是把记录文件初始化.即是让记录文件为空!\n");
printf("\n");
printf("请按任意键继续...\n");
getchar();
getchar();
display();
}
void vdisplay() //浏览记录界面
{
system("cls"); //清屏
printf(" ============================================\n");
printf(" ================数字竞猜游戏================\n");
printf(" ============================================\n");
printf("\n");
printf(" 1: 按记录的顺序浏览\n");
printf("\n");
printf(" 2: 按记录的姓名浏览\n");
printf("\n");
printf(" 3: 姓名记录全部浏览\n");
printf("\n");
printf(" 4: 返回上级\n");
printf("\n");
printf(" ============================================\n");
vxuanze();
}
void vxuanze() //浏览选择函数
{
int a;
printf("请输入你所选择的操作数:\n");
scanf("%d",a);
if(a==1||a==2||a==3||a==4)
{
vsys(a);
}//选择相应的操作数执行函数
else
{
printf("错误的操作数!\n");;
printf("\n");
printf("请按任意键继续...\n");
getchar();
getchar();
vdisplay();
}
}
void vsys(int a) //浏览操作函数
{
switch(a)
{
case 1:viewsorce();break;
case 2:viewname();break;
case 3:viewsname();break;
case 4:display();break; //返回上级
}
}
void viewname() //按记录的顺序浏览
{
recread();
system("cls"); //清屏
printf("\n");
printf("记录列表显示如下:\n");
printf("\n");
for(int i=0;iMAX;i++)
{
if(rec[i].sorce==0)printf(" ---空记录---\n");
else
printf(" 第 %d 名: 姓名: %s\n",i+1,rec[i].name);
}
printf("\n");
printf("请按任意键继续...\n");
getchar();
getchar();
vdisplay();
}
void viewsorce() //按记录的姓名浏览
{
recread();
system("cls"); //清屏
printf("\n");
printf("记录列表显示如下:\n");
printf("\n");
for(int i=0;iMAX;i++)
{
if(rec[i].sorce==0)printf(" ---空记录---\n");
else
printf(" 第 %d 名: 分数 %d\n",i+1,rec[i].sorce);
}
printf("\n");
printf("请按任意键继续...\n");
getchar();
getchar();
vdisplay();
}
void viewsname() //按姓名和记录浏览
{
recread();
system("cls"); //清屏
printf("\n");
printf("记录列表显示如下:\n");
printf("\n");
for(int i=0;iMAX;i++)
{
if(rec[i].sorce==0)printf(" ---空记录---\n");
else
printf(" 第 %d 名: 姓名: %s 分数 %d\n",i+1,rec[i].name,rec[i].sorce);
}
printf("\n");
printf("请按任意键继续...\n");
getchar();
getchar();
vdisplay();
}
void delrec() //删除记录
{
recread();
for(int i=0;iMAX;i++)
{
rec[i].sorce=0;
}
recwrite();
printf("删除成功!\n");
printf("\n");
printf("请按任意键继续...\n");
getchar();
getchar();
display();
}
int qushu() //取数函数
{
int a=0;
int i=0;
srand( (unsigned)time( NULL ) ); //随机数种子设置
while(i==0)
{
i=rand(); //这样做就是为了增加随机性
i=i%100;
}
L: for(int j=0;ji;j++)
{
a=a+rand(); //判断随机数是否是四位数 如果不是继续取数
}
a=(a/i+rand())%10000;
if(a1000)goto L;
return(a);
}
int tishi(int aa) //提示函数
{
int a,b,c,d;
int af,bf,cf,df;
if(aa==num)
{
printf("恭喜!你猜对了!四个数就是:%d\n",num);
return(0);
}
else
{
a=(num-num%1000)/1000;
b=(num%1000-(num%1000)%100)/100;
c=((num%1000)%100-((num%1000)%100)%10)/10; //获取默认四个数字
d=((num%1000)%100)%10;
af=(aa-aa%1000)/1000;
bf=(aa%1000-(aa%1000)%100)/100;
cf=((aa%1000)%100-((aa%1000)%100)%10)/10; //获取输入的四个数字
df=((aa%1000)%100)%10;
if(afa)printf("\n第一个数应该比 %d 小一点!\n",af);
if(af==a)printf("恭喜!第一个数字对了!应该是: %d\n",af); //数字比较
if(afa)printf("第一个数应该比 %d 大一点!\n",af);
if(bfb)printf("第二个数应该比 %d 小一点!\n",bf);
if(bf==b)printf("恭喜!第二个数字对了!就是: %d\n",bf); //数字比较
if(bfb)printf("第二个数应该比 %d 大一点!\n",bf);
if(cfc)printf("第三个数应该比 %d 小一点!\n",cf);
if(cf==c)printf("恭喜!第三个数字对了!就是: %d\n",cf); //数字比较
if(cfc)printf("第三个数应该比 %d 大一点!\n",cf);
if(dfd)printf("第四个数应该比 %d 小一点!\n",df);
if(df==d)printf("恭喜!第四个数字对了!就是: %d\n",df); //数字比较
if(dfd)printf("第四个数应该比 %d 大一点!\n\n",df);
return(1);
}
}
void addrec(int a) //判断并且增加记录
{
char c;
int flag=0; //标志位
a=11-a;
recread();
for(int i=0;iMAX;i++)
{
if(arec[i].sorce || rec[i].sorce==0)
{
if(i==4 || rec[i].sorce==0)
{
printf("\n");
printf("恭喜!你的成绩 %d 分已经达到了前五名!\n",a);
printf("确认要保存记录请按'y',任意键返回...!\n");
scanf("%s",c);
if(c!='y')display();
rec[i+1].sorce=rec[i].sorce; //记录后移
strcpy(rec[i+1].name,rec[i].name);
printf("请输入你的名字\n");
scanf("%s",rec[i].name);
rec[i].sorce=a;
recwrite(); //写入
printf("恭喜!添加成功!\n",a);
flag++;
printf("\n");
printf("请按任意键继续...\n");
getchar();
getchar();
display();
}
else
{
printf("\n");
printf("恭喜!你的成绩 %d 分已经达到了前五名!\n",a);
printf("确认要保存记录请按'y',任意键返回...!\n");
scanf("%s",c);
if(c!='y')display();
for(int j=i;jMAX-1;j++)
{
rec[j+1].sorce=rec[j].sorce; //记录后移
strcpy(rec[j+1].name,rec[j].name);
if(rec[j+2].sorce==0)break;
}
printf("\n");
printf("请输入你的名字\n");
scanf("%s",rec[i].name);
rec[i].sorce=a;
recwrite(); //写入
printf("恭喜!添加成功!\n",a);
flag++;
printf("\n");
printf("请按任意键继续...\n");
getchar();
getchar();
display();
}
}
}
if(flag==0)
{
printf("\n");
printf("请按任意键继续...\n");
getchar();
getchar();
display();
}
}
void recread() //读取记录文件
{
FILE *fp;
L: fp=fopen("E:\\rec.rec","rb");
if(fp==NULL)
{
recwrite();
goto L; //初始化
}
if(fread(rec,sizeof(record),MAX,fp)==MAX)
{
}
else
{
printf("文件读取失败!");
}
fclose(fp);
}
void recwrite() //写入记录文件
{
FILE *fp;
fp=fopen("E:\\rec.rec","wb");
if(fp==NULL)
printf("写入失败!\n");
fwrite(rec,sizeof(record),MAX,fp);
fclose(fp);
}
void main()
{
display();
}
////////////////////////////////
C语言编程题,求答案+解释,谢谢大佬
(1)这个位置,因为在主函数之外,只有一行。一般来说是#include了其他的库,或者是#define了一些什么,或者是前向声明(但鉴于题目里扫视了一眼只有一个非主函数,所以不会是这个)。那我最大的倾向就是#include,接着我会直接看主函数
先学会看变量,可以看到题目里有三个变量X,Y1,Y2。和我们设置的变量不谋而合,接下来输入X的值,直接就可以算Y1,Y2。因为刚刚记得只看到了一个外函数,而且下面两个空是在形参上让我们填空,我就回头看了一眼题目,原来是函数的形式完全相同,只是改变了传进去的参数,第一个直接传x+8,第二个要传sinx,那两个答案就出来了,同时(1)的答案也出来了,因为sin()这个函数是在#includemath.h里面的
接着剩下最后一个空,我们看到被调函数fun里面,这是一个返回类型float的函数,但是没有返回值,所以我们需要return 一些什么,很明显这里只有一个能return的,那就是y
综上
(1)#includemath.h
(2)return y;
(3)x+8
(4)sin(x)
(在我写完之后看到3分钟前下面还有个答案,include用了""。需要说明的是,一般只有使用非库头文件,也就是自定义的头文件时,会选择"",这并不是一个好习惯,会不会引发报错可以自己尝试一下)
c语言编程,掷骰子游戏,掷三个骰子,我与电脑轮流坐庄,输了换庄,游戏结束询问是否结束,如果结束?
掷骰子比大小,用随机数就可以,但是庄家的规则是咋样的没交代清楚(这里假定庄家的优势在于点数一样大时,庄家赢):
#include "stdafx.h"
#include iostream
#include time.h
using namespace std;
int main()
{
int Me, Computer,n=1,MC=1;
int meWin = 0, nGames = 0;
srand((unsigned int)time(NULL));
while (n)
{
cout "开始掷骰子(输入1开始,输入0结束):" endl;
cin n;
Me = rand() % 6 + 1;
Computer= rand() % 6 + 1;
nGames++;
if (MC)
{
cout "你做庄:" endl;
cout "你的点数:" Me " 电脑的点数:" Computer endl;
if (Me = Computer)
{
meWin++;
cout "恭喜你赢了!" endl;
}
else
{
MC = 0;
cout "哦,你输了!" endl;
}
}
else
{
cout "电脑做庄:" endl;
cout "你的点数:" Me " 电脑的点数:" Computer endl;
if (Computer = Me)
cout "哦,你输了!" endl;
else
{
meWin++;
MC = 1;
cout "恭喜你赢了!" endl;
}
}
}
cout "你赢的次数:" meWin " 输的次数:" nGames - meWin " 胜率:";
float p = (float)meWin / nGames;
int q = p * 100;
printf("%2d%% \n", q);
system("pause");
return 0;
}
一道C语言猜数游戏编程题
#include "stdio.h"
#includetime.h
#includestdlib.h
void Guess(int magic, int guess)
{
static int c = 0;
c++;
if (magic == guess)
{
printf("\n你猜对了!\n你一共猜了%d次!", c);
exit(0);
}
if (magic guess)
{
printf("\n太大了!\n");
}
else
{
printf("\n太小了!\n");
}
}
int main()
{
int m, n, i;
srand((int)time(0));
n=(rand() % 100) + 1;
//printf("n=%d\n",n);
for (i = 0; i 10; i++) {
printf("请输入你猜测的数:");
scanf("%d", m);
Guess(n, m);
}
return 0;
}
块语言编程游戏答案的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于编程语言模块的信息别忘了在本站进行查找喔。