当前位置: 首页 > ops >正文

C语言复习记录

选择排序

冒泡排序

插入排序

归并排序

快速排序

二分查找

五子棋

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#define BLANK 0
#define BLACK 1
#define WHITE -1
#define ROW 15
#define COL 15int main()
{int chess[ROW][COL] = {BLANK};int loc_i, loc_j = 0;int player = BLACK;int winner;do{system("cls");//draw a chess boardprintf("  ");for (int i = 0; i < COL; i++){printf("%3d", i);}printf("\n");for (int i = 0; i < ROW; i++){printf("%2d", i);printf("\033[47;31m");for (int j = 0; j < COL; j++){if (chess[i][j] == BLANK)printf("|__");else if (chess[i][j] == BLACK)printf("| *");elseprintf("| o");}printf("|\033[0m\n");}// judge whether to terminatefor(int i=0;i<ROW;i++){for(int j=0;j<COL;j++){if(chess[i][j]==BLANK) continue;if((j<COL-4 && chess[i][j]==chess[i][j+1] && chess[i][j]==chess[i][j+2] && chess[i][j]==chess[i][j+3] && chess[i][j]==chess[i][j+4]) ||(i<ROW-4 && chess[i][j]==chess[i+1][j] && chess[i][j]==chess[i+2][j] && chess[i][j]==chess[i+3][j] && chess[i][j]==chess[i+4][j]) ||(i<ROW-4 && j>4 && chess[i][j]==chess[i+1][j-1] && chess[i][j]==chess[i+2][j-2] && chess[i][j]==chess[i+3][j-3] && chess[i][j]==chess[i+4][j-4]) ||(i<ROW-4 && j<COL-4 && chess[i][j]==chess[i+1][j+1] && chess[i][j]==chess[i+2][j+2] && chess[i][j]==chess[i+3][j+3] && chess[i][j]==chess[i+4][j+4])){winner=player;goto L;}}}// player insert loc_i, loc_jprintf("Player %d! Please enter your move!\n", player);scanf("%d %d", &loc_i, &loc_j);while(chess[loc_i][loc_j]!=BLANK){printf("Invalid location!Enter again!\n");scanf("%d %d", &loc_i, &loc_j);}chess[loc_i][loc_j] = player;// switch the playerplayer = player*-1;} while (loc_i != -1 && loc_j != -1);L:printf("Player %d wins!",winner);return 0;
}

http://www.xdnf.cn/news/16709.html

相关文章:

  • OracleJDK和OpenJDK​区别,为什么Spring官方推荐使用OpenJDK?
  • 微服务 02
  • 2025虚幻5光明之魂开发思考1——借鉴软件工程
  • 初始sklearn 数据集获取、分类、划分与特征工程
  • 元素定位常见问题
  • Redis线程模型讨论
  • Flutter兼容的iOS的最低版本号
  • Java 大视界 -- Java 大数据在智能医疗远程健康监测与疾病预防预警中的应用(374)
  • 【IQA技术专题】DISTS代码讲解
  • Git 详细安装配置教程(Windows版)
  • 【每日一错】mysql账户及权限删除
  • 计数组合学7.9( 标量积)
  • vk框架或者普通函数封装的一些函数可以拿取使用【会持续更新】
  • [特殊字符] 数据可视化结合 three.js:让 3D 呈现更精准,3 个优化经验谈
  • 2025年物联网新趋势:格行随身WiFi的模块化架构与低延迟优化
  • 【09】大恒相机SDK C#开发 ——库函数 IntPtr ConvertToRGB24详细解释 及 示例
  • 【烧脑算法】Dijkstra 算法:解决最短路问题
  • Unity_数据持久化_PlayerPrefs存储各数据类型
  • 【爬虫实战】使用Python和JS逆向基于webpack的游戏平台
  • 【Java安全】CC1链
  • 计算机网络:什么是光猫
  • 安卓脱壳指南
  • 5G毫米波射频前端设计:从GaN功放到混合信号集成方案
  • TDengine 中 TDgp 中添加算法模型(预测分析)
  • 通过 Docker Compose 快速部署RocketMQ 服务
  • openKylin 2.0 SP2揭秘 - 磐石架构:不变的核心,更好的体验
  • 从 MySQL 迁移到 TiDB:使用 SQL-Replay 工具进行真实线上流量回放测试 SOP
  • Video_1920×1080i 1920_1080p
  • 基于 BiLSTM+自注意力机制(改进双塔神经网络) 的短文本语义匹配
  • Kafka Streams性能优化实践指南:实时流处理与状态管理