美文网首页
开放式c语言题目

开放式c语言题目

作者: 红尘赌客 | 来源:发表于2017-10-10 09:36 被阅读28次

请提交两份材料

  • 可在linux下编译运行的c程序源文件,linux命令行编译指令,以及参数使用说明。
  • 代码思路的说明。可以使用文字、流程图、伪代码等各种方式,重点是把思路讲清楚。
  1. 实现一个英文单词记数程序。程序接受一个文件路径作为参数,统计并输出每个单词以及单词出现的次数。单词由连续的英文字母和数字组成,所有非字母数字的字符都认为是分隔符。

示范输出

a 10
count 3
word 5

  1. 人民币的硬币,具有1元,5角,5分,2分,1分这几种面值。假设一台自动售货机里面各种面值的硬币数量充足。请实现一个程序,计算顾客付款购货后应该怎么找钱。注意,找钱方案要求找给顾客的硬币数量最少。程序的输入是顾客付款金额和货品价格,程序应该输出具体的找钱方案。

  2. 下面的程序使用二维字符数组表示迷宫,'#'表示墙壁,'@'表示通路,'x'表示行走路径。迷宫四周是封闭的外墙,起点是maze[1][1]的位置(左上角),终点是maze[n-2][m-2](右下角)。请实现find_path函数,找到一条路径,并将每一步设置为'x'。

提示:这道题的得分有三个档次,能够找到一条路径可以拿到基本分数,能够找到最短路径可以拿到更高的分数,能够使用高效算法找到最短路径可以拿到最高档次的分数。此外,实现generate_maze函数,是一个加分项。

#include <stdio.h>
#include <stdlib.h>

void print_maze(char *maze, int row_size, int col_size)
{
    int i;
    int j;
    char item;
    for (i = 0; i < row_size; i++) {
        for (j = 0; j < col_size; j++) {
            item = *(maze + (i * col_size + j));
            printf("%c", item);
        }
        printf("\n");
    }
}

// 随机生成迷宫
char *generate_maze(int row_size, int col_size)
{
    char *maze;
    int i;
    int j;
    char *p_item;
    maze = (char *) malloc(row_size * col_size * sizeof(char));
    // TODO 随机生成迷宫
    return maze;
}

void free_maze(char *maze)
{
    free(maze);
}

// 搜寻路径,并使用'x'标识
void find_path(char *maze, int row_size, int col_size)
{
    // TODO
}

int main(void)
{
    // 示例迷宫
    char maze[9][9] = {
        {'#', '#', '#', '#', '#', '#', '#', '#', '#'},
        {'#', '@', '#', '#', '@', '@', '@', '@', '#'},
        {'#', '@', '@', '@', '@', '#', '#', '#', '#'},
        {'#', '@', '#', '#', '@', '@', '@', '@', '#'},
        {'#', '@', '@', '@', '#', '#', '#', '#', '#'},
        {'#', '#', '#', '@', '@', '@', '@', '@', '#'},
        {'#', '#', '#', '#', '#', '@', '#', '@', '#'},
        {'#', '#', '#', '#', '#', '@', '#', '@', '#'},
        {'#', '#', '#', '#', '#', '#', '#', '#', '#'}
    };
    print_maze(&maze[0][0], 9, 9);
    return EXIT_SUCCESS;
}

相关文章

  • 开放式c语言题目

    请提交两份材料 可在linux下编译运行的c程序源文件,linux命令行编译指令,以及参数使用说明。代码思路的说明...

  • C语言题目

    猜正数游戏,用户给出要猜的数和至多可猜的次数 代码 输出 求前n项的和 输出 约分最简分式:2/4->1/2 输出...

  • 为什么C/C++语言使用指针

    这是参加面试时面试官问的一道开放式的题目。 问题:为什么C/C++语言使用指针? 这个问题一问出来,直接被面试官给...

  • c语言经典题目

    1、 *(a+1)其实很简单就是指a[1],输出为2. 问题关键就在于第二个点,*(p-1)输出为多少? 解释如下...

  • c语言题目1

    什么是结构体类型?结构体类型和整型,字符型等数据类中没有什么区别,只不过结构体类型是自定义的。类似python中的...

  • 2017京东校招笔试编程题:进制转换、辗转相除

    题目描述 时间限制:C/C++语言 1000MS 其他语言:3000MS 内存限制:C/C++语言 ...

  • Leetcode —— Easy [13] 罗马数字转整数

    题目 解法一 (C语言)

  • [LeetCode By Go 45]237. Delete N

    这道题目不能用go语言写答案,所以用了C语言 题目 Write a function to delete a no...

  • js:C语言经典题目

    题目描述:输入一个数(不限位数),输出一个数字的位数。 自己的做法: 别人的做法: 总结: 1.输入可以用prom...

  • ARM汇编语言与C语言混合编程(part1)

    汇编语言调用C语言 题目:用汇编语言调用C语言实现21!(21的阶乘) 实验软件:ARM Developer Su...

网友评论

      本文标题:开放式c语言题目

      本文链接:https://www.haomeiwen.com/subject/aryiextx.html