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

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

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

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

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

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

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

实训作业吧,有两个题。

1.做一个国际棋盘

例如:

 C语言程序设计 随笔

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

/*
*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) % 2 == 0) return ' ';
    else if (row<3) return 'b';
    else if (row == 3 || row == 4) return '-';
    else return 'r';
}
static void InitCheckerboard(char board[N][N])//初始化棋盘的函数
{
    int i, j;
    for (i = 0; i<8; i++) {
        for (j = 0; j<8; j++) {
            board[i][j] = Getboard(i, j);
        }
    }
}

static void DislayCheckerboard(char board[N][N])//显示棋盘的函数
{

    for (int i = 0; i<8; i++) {
        for (int n = 0; n<8; n++) {
            printf("%c", board[i][n]);
        }
        printf("\n");
    }
}
int main()
{
    char board[N][N];
    InitCheckerboard(board);
    DislayCheckerboard(board);
    return 0;
}

 

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 = 0; i<Letters; i++) {
        x = RandomInteger(65, 91);
        word[i] = x;
    }
}
static void HideWord(char result[])/*隐藏字母的函数*/
{
    for (int i = 0; i<Letters; i++) {
        result[i] = '-';
    }
}
static void replace(char ch, char result[], char word[])/*将‘-’替换成字母*/
{
    for (int i = 0; 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>0) {
        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) == 0) {//判断是否全对
            printf("The word is:%s\n", word);
            printf("you win!!!\n");
            break;
        }
else if (i == 0) {//机会用完
    printf("The word:%s\n", word);
    printf("you lose.\n");
}
    }
}
int main()
{
    char letter[Letters + 1];
    char result[Letters + 1];
    letter[Letters] = '\0';
    result[Letters] = '\0';
    char *word;
    word = &letter[0];
    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 0;
}

 

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

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

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄