C语言中级程序大作业
更新时间:2023-06-11 05:44:01 阅读量: 实用文档 文档下载
- c语言大一期末程序作业推荐度:
- 相关推荐
期末大作业
C语言中级程序设计报告
1、设计任务书
1.1题目与要求
编写简单的井子棋游戏,是一种在3*3格子上进行的连珠游戏。要求由分别代表O和X的两个游戏者轮流在格子里留下标记(一般来说先手者为X),由最先在任意一条直线上成功连接三个标记的一方获胜。 1.2本程序涉及的知识点
变量的定义,产生随机字母的函数,while循环语句,if语句,goto语句等。
2、功能设计
2.1算法设计
本程序实现的功能要求:利用while语句执行游戏及if语句计算出游戏得分。 设计流程:
3、程序代码
#include<stdio.h> #include<stdlib.h> #include<windows.h> int main(void) {
start: //在某些情况下游戏重新开始,比如某一玩家赢,或者平局 char game[3][3]= {
{'1','2','3'}, {'4','5','6'}, {'7','8','9'} };
期末大作业
int choice=0; //选择填在哪个格,定位
int row=0; //行 int column=0; //列
int player=0; //玩家值,玩家1或玩家2
int re; //一方赢或者平局的时候选择重新玩还是退出,1:restart 0:exit
printf(" | | \n");
printf(" %c | %c | %c \n",game[0][0],game[0][1],game[0][2]); printf(" | | \n");
printf(" ------+------+------\n"); printf(" | | \n");
printf(" %c | %c | %c \n",game[1][0],game[1][1],game[1][2]); printf(" | | \n");
printf(" ------+------+------\n");
printf(" | | \n");
printf(" %c | %c | %c \n",game[2][0],game[2][1],game[2][2]); printf(" | | \n");
for(int i=1;i<=9;++i)
{
rechoice:; //在选择错误的时候跳到这里重新选择,比如选择了一个已经画了的地方 if(i%2!=0) { player=1; printf("\n玩家1请输入:"); } else
{ player=2; printf("\n玩家2请输入:"); }
scanf("%d",&choice);
if(choice>=1 && choice<=9)
{ //当小在1和9之间的时候才是正确的选择 //定位行 if(choice<=3)
{ row=0; }
else if(choice >=4 && choice <=6) {
row = 1; } else
期末大作业
row = 2; }//定位列
if(choice==1 ||choice==4 || choice == 7) {
column=0; }
else if(choice==2 || choice==5 || choice==8) {
column=1; } else {
column=2;
} }else
{ fflush(stdin); //清楚输入缓冲区,防止输入字母的或其他的字符的时候出现致命错误(会重复输出下面一句)
printf("输入错误! 请重新输入!\n\n"); Sleep(2000); //等待2秒
goto rechoice; //重新选择下在哪里 } if(player==1){ //如果是玩家1则画O,
}
if(game[row][column]!='O' && game[row][column]!='X') { //这一句规定已经画了的地方不能再选择 game[row][column]='O'; }else {
printf("您不能选择这里!\n\n");
goto rechoice; //重新选择下在哪里 }
}else
{
if(game[row][column]!='O' && game[row][column]!='X') {
game[row][column]='X'; }else
{
printf("您不能选择这里!\n"); goto rechoice;
期末大作业
printf("\n\n"); //打印刚刚操作的地方 printf(" | | \n");
printf(" %c | %c | %c \n",game[0][0],game[0][1],game[0][2]); printf(" | | \n");
printf(" ------+------+------\n"); printf(" | | \n");
printf(" %c | %c | %c \n",game[1][0],game[1][1],game[1][2]); printf(" | | \n");
printf(" ------+------+------\n");
printf(" | | \n");
printf(" %c | %c | %c \n",game[2][0],game[2][1],game[2][2]); printf(" | | \n");
//判断输赢(对角线)
if(game[0][0]==game[1][1] && game[0][0]==game[2][2] || game[0][2]==game[1][1] && game[0][2]==game[2][0]){
printf("\n玩家 %d 赢!\n\n",player); printf("[1] 重新开始\t[0] 退出\n"); int re; //选择重玩还是退出 scanf("%d",&re); if(re==1) {
system("cls"); //清屏
goto start; //跳至游戏开始处,就是本程序的开始 } else {
goto exit; }
//退出
}
//判断输赢(行和列)
for(int j=0;j<=2;++j){
if(game[j][0]==game[j][1] && game[j][0]==game[j][2] || game[0][j]==game[1][j] && game[0][j]== game[2][j])
{
printf("玩家 %d 赢!\n\n",player); printf("[1] 重新开始\t[0] 退出\n"); scanf("%d",&re); if(re==1) { system("cls");
期末大作业
goto start;
} else { goto exit; } } } //平局
printf("\n\n平局!!\n\n");
printf("[1] 重新开始\t[0] 退出\n"); scanf("%d",&re); if(re==1) {
system("cls");
goto start; //跳至游戏开始处重新开始,即程序开始处 } else {
goto exit; }
exit:; return 0; }
//退出
}
4、运行结果
期末大作业
期末大作业
正在阅读:
C语言中级程序大作业06-11
赤壁摩崖石刻专家论证会工作方案211-10
读书节闭幕式主持词例文(最终5篇)08-22
学会团结作文500字06-26
高职高专类工商企业管理专业学生就业状况和企业需求状况调研报告04-21
敬业的王老师04-12
2017秋四年级数学上册 第七单元 生活中的负数单元测试卷 北师大03-06
都是粗心惹的祸作文800字06-17
论广告中英语的语言特色(总)05-09
投标人对本项目合理化建议及改进措施04-08
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 中级
- 作业
- 语言
- 程序
- 08成文信息控制程序
- 推进节能减排 努力建设资源节约型环境友好型行业
- 2014年职称英语真题及答案word版(理工类C级概括大意与完成句子)
- 计算手机屏幕的PPI
- 《办公设备使用与维护》教学大纲
- Physical distribution-A
- 构建大成人高等教育体系 促进成人高等教育科学发展-2019年教育文档
- 数字图书馆的信息组织
- 四年级英语语法精讲要点及习题1
- 中西医结合内科学 主治复习
- 养老院可行性研究报告
- 粤教版精品教案 《寡人之于国也》教案1
- 模拟电子技术课程设计心得体会
- 2014黑龙江公务员考试时事速递:大庆破获“骨刺消痛胶囊”假药案 遍布20省涉案200万
- 装修色彩搭配全集
- 2016年江西教师招聘考试幼教考试习题7
- 后危机时代的改革与发展研讨会暨第四届亚洲经济合作与创新论坛综述_叶德珠
- 关于规范信托投资公司证券业务经营与管理有关问题的通...
- 设计开放型题培养思维能力
- 高校实验室安全考试题库及答案