鱼C论坛

 找回密码
 立即注册
楼主: 小甲鱼

[课后作业] S1E2:第一个程序 | 课后测试题及答案

    [复制链接]
发表于 2023-9-10 15:30:46 | 显示全部楼层
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <dirent.h>

#define MAX_PATH 256

int countLines(const char *filename);
void findAllCodes(const char *path);
void findAllFiles(const char *path);

int countLines(const char *filename)
{
    FILE *fp;
    int count = 0;
    int temp;

    if ((fp = fopen(filename, "r")) == NULL)
    {
        fprintf(stderr, "无法打开文件:%s\n", filename);
        return 0;
    }

    while ((temp = fgetc(fp)) != EOF)
    {
        if (temp == '\n')
        {
            count++;
        }
    }

    fclose(fp);

    return count;
}

void findAllCodes(const char *path)
{
    DIR *dir;
    struct dirent *entry;
    char targetPath[MAX_PATH], filePath[MAX_PATH];

    if ((dir = opendir(path)) == NULL)
    {
        fprintf(stderr, "无法打开路径:%s\n", path);
        return;
    }

    while ((entry = readdir(dir)) != NULL)
    {
        sprintf(filePath, "%s/%s", path, entry->d_name);

        if (entry->d_type == DT_REG && strstr(entry->d_name, ".c") != NULL)
        {
            int fileCount = countLines(filePath);
            printf("文件:%s,行数:%d\n", filePath, fileCount);
        }
        else if (entry->d_type == DT_DIR && strcmp(entry->d_name, ".") != 0 && strcmp(entry->d_name, "..") != 0)
        {
            sprintf(targetPath, "%s/%s", path, entry->d_name);
            findAllCodes(targetPath);
        }
    }

    closedir(dir);
}

void findAllFiles(const char *path)
{
    DIR *dir;
    struct dirent *entry;
    char targetPath[MAX_PATH];

    if ((dir = opendir(path)) == NULL)
    {
        fprintf(stderr, "无法打开路径:%s\n", path);
        return;
    }

    while ((entry = readdir(dir)) != NULL)
    {
        sprintf(targetPath, "%s/%s", path, entry->d_name);

        if (entry->d_type == DT_DIR && strcmp(entry->d_name, ".") != 0 && strcmp(entry->d_name, "..") != 0)
        {
            findAllCodes(targetPath);
            findAllFiles(targetPath);
        }
    }

    closedir(dir);
}

int main()
{
    char path[MAX_PATH] = ".";

    printf("计算中...\n");

    findAllCodes(path);
    findAllFiles(path);

    return 0;
}
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-9-10 15:34:06 | 显示全部楼层
.
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-9-10 15:48:12 | 显示全部楼层
赤坂龙之介
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-9-10 17:39:31 | 显示全部楼层
报错原因找不着怎么办
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-9-10 18:27:15 | 显示全部楼层
1111
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-9-10 19:47:39 | 显示全部楼层
查看参考答案
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-9-10 20:17:03 | 显示全部楼层
i
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-9-10 20:53:04 | 显示全部楼层
太难了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-9-10 21:24:33 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-9-10 23:00:42 | 显示全部楼层
woxiangkandana
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-9-10 23:36:02 | 显示全部楼层
daan
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-9-11 10:23:12 | 显示全部楼层
123
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-9-11 10:33:25 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-9-11 12:21:57 | 显示全部楼层
0.计算机的”大脑“CPU只懂得二进制的0和1的组合
1.机器语言
2.编译
3.编译型语言编译后的机器语言可以多次进行执行,而解释型语言转化成的中间代码通过编译后只能执行一次,下次执行需要重新翻译。
4.不懂看答案
5.解释器根据不同系统从而翻译为不同的代码
6.将原本的信息用点横来代替,要读懂莫斯密码需要通过查表转换为原本的文本才能读懂
7.新人趁敌人吃饭时发动进攻
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-9-11 16:37:04 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-9-11 17:52:46 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-9-11 18:04:33 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-9-11 19:53:13 | 显示全部楼层
6666
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-9-11 20:24:36 | 显示全部楼层
好长
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-9-11 20:50:21 | 显示全部楼层
666
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-7 05:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表