从 大一下 开始写博客,记录自己的学习。

而作为一个强迫症(比如我)是不允许做事缺头少尾的。

想了想还是得大一所学的C语言也搬上来,虽然结构老师经常嘲讽

(也不算嘲讽,算是絮叨吧)我的C语言,但是我还是要厚着脸皮继续

学习的。永远保持一颗学徒的心。 加油!

上学期C语言的每次作业或者实验报告我就懒得再写了(太多了),就写一下期末

实训作业吧,有两个题。

1.做一个国际棋盘

例如:

现在看来真是简单,不知道上学期自己做的时候怎么还花了囊么多的时间.....

/*
*2018051604115 cjw 软工四班
*
*file:11_12.c
*------------------------
* This is DislayCheckerboard program
*/
#include <cstdio>
#include "cstring" #define N 8 static char Getboard(int row, int column)//判断棋子的函数
{
if ((row + column) % == ) return ' ';
else if (row<) return 'b';
else if (row == || row == ) return '-';
else return 'r';
}
static void InitCheckerboard(char board[N][N])//初始化棋盘的函数
{
int i, j;
for (i = ; i<; i++) {
for (j = ; j<; j++) {
board[i][j] = Getboard(i, j);
}
}
} static void DislayCheckerboard(char board[N][N])//显示棋盘的函数
{ for (int i = ; i<; i++) {
for (int n = ; n<; n++) {
printf("%c", board[i][n]);
}
printf("\n");
}
}
int main()
{
char board[N][N];
InitCheckerboard(board);
DislayCheckerboard(board);
return ;
}

2. 猜单词hangman game

由一个玩家想出一个单词或短语,另一个玩家猜该单词或短语中的每一个字母,

第一个人抽走单词或短语,只留下相应数量的空白与下划线。

/*
*2018051604115 cjw 软工四班
*
*file:14_12.c
*------------------------
* This is hangman game program
*/
#include <stdio.h>
#include <ctype.h>
#include "strlib.h"
#include "simpio.h"
#include "random.h"
#include "string.h" #define Chances 8
#define Letters 4
static void RandomWord(char word[])/*随机一个有Letters个字母的单词*/
{
int i, x;
for (i = ; i<Letters; i++) {
x = RandomInteger(, );
word[i] = x;
}
}
static void HideWord(char result[])/*隐藏字母的函数*/
{
for (int i = ; i<Letters; i++) {
result[i] = '-';
}
}
static void replace(char ch, char result[], char word[])/*将‘-’替换成字母*/
{
for (int i = ; i<Letters; i++) {
if (ch == word[i]) {//判断是否匹配并替换
result[i] = ch;
}
}
} static void GuessWord(char result[], char word[])/*用户猜单词*/
{
int i = Chances;
char *sptr;
char ch;
while (i>) {
printf("The word now looks like this:%s\n", result);
printf("you have %d chances left.\n", i);
printf("your guess:");
ch = getchar();
getchar();
sptr = strchr(word, ch);
replace(ch, result, word);/*调用函数替换‘-’*/
if (sptr == NULL) {//猜错
printf("There is no %c's in the word.\n", ch);
i--;
}
else {//猜对
printf("That guess is correct.\n");
}
if(strcmp(result, word) == ) {//判断是否全对
printf("The word is:%s\n", word);
printf("you win!!!\n");
break;
}
else if (i == ) {//机会用完
printf("The word:%s\n", word);
printf("you lose.\n");
}
}
}
int main()
{
char letter[Letters + ];
char result[Letters + ];
letter[Letters] = '\0';
result[Letters] = '\0';
char *word;
word = &letter[];
printf("Let's play hangman!I will pick a secret word.\non each turn, you guess a letter.If \n");
printf("the letter is in the secrect word,I will\nshow you where it appears. If you make an\n");
printf("incorrect guess,part of your body gets strung\nup on the scaffold. The object is to\n");
printf("guess the word before you are hanged.\n");
RandomWord(letter);
HideWord(result);
GuessWord(result, word);
return ;
}

这里运行结果图我懒得再去找了(好像保存深度系统里面了),现在用visual studio重新运行的

话,又不知道怎么弄随机库,就这样吧。

C语言程序设计的更多相关文章

  1. C语言程序设计入门学习五步曲(转发)

    笔者在从事教学的过程中,听到同学抱怨最多的一句话是:老师,上课我也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下手.发生这种现象的原因有三个: 一.所谓的看懂听明白,只是很肤浅的 ...

  2. 160809208沈昊辰c语言程序设计实验选择结构设计

    <C语言程序设计>实验报告 学 号 160809208 姓 名 沈昊辰 专业.班 计科16-2班 学    期 2016-2017 第1学期 指导教师 黄俊莲 吴喆 实验地点 C区二层机房 ...

  3. C语言程序设计第4堂作业

    大家注意:本次作业稍有增加,由于放假期间大家空闲时间比较充足,将之前学习过程中遗留的问题必须在假期解决.   本次课学习主要内容: 分支结构中的二分支结构.多分支结构和else-if语句 掌握字符型数 ...

  4. 《VB语言程序设计(第3版)》总结

    我之前因学习昆仑通态的组态软件MCGS,用并学习过VB,还买了一本书<VB语言程序设计(第3版)>.现在在某公司实习,最近接触老的项目,又要用到VB.我就又把那本书大体看了一遍,并对其进行 ...

  5. 160809209_李梦鑫_C语言程序设计实验3 循环结构程序设计

    <C语言程序设计>实验报告 学 号 160809209 姓 名 李梦鑫 专业.班 计科16-2班 学    期 2016-2017 第1学期 指导教师 黄俊莲 吉吉老师 实验地点 C05 ...

  6. 160809209_李梦鑫_C语言程序设计实验2+选择结构程序设计_进阶

    <C语言程序设计>实验报告 学 号 160809209 姓 名 李梦鑫 专业.班 计科16-2班 学    期 2016-2017 第1学期 指导教师 黄俊莲 吴喆 实验地点 C05 机 ...

  7. 中国大学MOOC-翁恺-C语言程序设计习题集

    今年网易出了“中国大学MOOC”,于是选了浙大翁恺老师的“C语言程序设计”学习,近期打算把自己在该课程中的PAT习题解答做一个记录,等自己编程能力提高后再来看现在写的代码哪里还有写的不好,可以改进的地 ...

  8. 中国大学MOOC-翁恺-C语言程序设计习题集-解答汇总

    中国大学MOOC-翁恺-C语言程序设计习题集 PAT 习题集 02-0. 整数四则运算(10) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standar ...

  9. C语言程序设计课程设计自查表格

    课程设计自查表格 序号 项目 完成与否(完成打勾) 1 格式是否符合标准(缩进是否规范) 2 是否模块化设计(使用函数分解系统功能) 3 函数名否易懂(不得使用f1(int a1,int a2)这样的 ...

  10. C语言程序设计第一作业

    C语言程序设计第一作业 实验总结 (一) 1.题目:输入圆的半径,求圆周长和面积 2.流程图: 3.测试数据及运行结果: 4.实验分析: 问题1: 出现了错误 原因:是在赋值那写反了 解决方法:应该是 ...

随机推荐

  1. Quartz.NET文档 入门教程

    概述 Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET允许开发人员根据时间间隔(或天)来调度作业.它实现了 ...

  2. sublime 安装插件

    安装Package Control 在安装插件之前,需要让sublime安装Package Control.打开Sublime Text的控制台,快捷键ctrl + ~,在控制台中输入以下代码. im ...

  3. EF中关系映射问题

    一对一,和一对多的简单问题就部说了,直接来多对多这样的问题吧. 首现关系映射为这样的: /// <summary> /// 对应数据库中dbo.Address表 /// </summ ...

  4. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 14—Dimensionality Reduction 降维

    Lecture 14 Dimensionality Reduction 降维 14.1 降维的动机一:数据压缩 Data Compression 现在讨论第二种无监督学习问题:降维. 降维的一个作用是 ...

  5. SpringBoot 项目打war包 tomcat部署

    今天看了一下springboot的项目,个人习惯是接触新的语言或框架,首先要做的就是程序员届最常用的“Hello World”,然后进行项目部署,然今天部署却发现一直都是404,查看tomcat的we ...

  6. Half Lambert

    [Half Lambert] Half Lambert was a technique created by Valve as a way of getting the lighting to sho ...

  7. opencv在64位4418上的移植

    1.mkdir build 2.cmake-gui 操作系统写Linux 去掉 去掉WITH_CUDA 去掉WITH_GTK 去掉WITH_1394 去掉WITH_GSTREAMER 去掉WITH_L ...

  8. [OS] 如何在远程机器上用ctrl+alt+del键修改登录用户的密码

    远程登录某台机器,想修改当前登录用户的密码,系统提示按Ctrl+Alt+Del,在出现的界面里修改密码 但我一按这三个键,是在我本地客户机生效,而不是在远程服务器. 答案 : 向远程桌面发送Ctrl+ ...

  9. Java 读取jar内的文件的超简便方法

    坑爹的java课程设计,偏要用jar来运行 读取.存储jar内文件的支持也好低 存储方法: 进入jar文件其实没有说的那么困难,jar文件本质是一个zip格式的压缩文件,只是把文件后缀名改了,要用Ja ...

  10. cJSON结构体构建

    cJSON结构体构建 一:cJSON的构建. int create_objects() { cJSON *root, *fmt, *img, *thm, *fld; char *out; int i; ...