鱼C论坛

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

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

    [复制链接]
发表于 2023-5-31 11:27:39 | 显示全部楼层
。。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-5-31 12:41:33 | 显示全部楼层
答案
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-5-31 16:24:23 | 显示全部楼层
本帖最后由 lw在努力变强 于 2023-5-31 16:25 编辑

有点难。。但我不怕
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-31 21:01:34 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-5-31 21:03:11 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-6-1 14:45:20 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-6-1 16:47:40 | 显示全部楼层
小甲鱼nb
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-1 18:00:45 | 显示全部楼层
内容齐全
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-1 19:27:20 | 显示全部楼层
C:\Users\22944\Desktop
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2023-6-2 17:19:58 | 显示全部楼层
#include <stdio.h>
#include <unistd.h>
#include <dirent.h>
#include <string.h>
#include <stdlib.h>
#include <sys/stat.h>

#define MAX 256

long total;

int countLines(const char *filename);

int isCode(const char *filename);
void findAllDirs(const char *path);

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

    if ((fp = fopen(filename,"r")) == NULL)
    {
        fprintf(stderr, "can not open the file:%s\n",filename);
        return 0;
    }

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

    fclose(fp);

    return count;
}
int isCode(const char *filename)
{
    int length;

    length = strlen(filename);

    if (!strcmp(filename + (length-2),".c"))
    {
        return 1;
    }
    else
    {
        return 0;
    }
}

void findAllDirs(const char *path)
{
    DIR *dp;
    struct dirent *entry;
    struct stat statbuf;

    if ((dp = opendir(path)) == NULL)
    {
        fprintf(stderr, "The path %s is wrong!\n",path);
        return;
    }
    chdir(path);
    while ((entry = readdir(dp)) != NULL)
    {
        lstat(entry->d_name,&statbuf);

        if(!strcmp(".",entry->d_name) || !strcmp("..",entry->d_name))
            continue;
        if (S_ISDIR(statbuf.st_mode))
        {
            findAllDirs(entry->d_name);
        }
        else
        {
            if(isCode(entry->d_name))
            {
                total += countLines(entry->d_name);
            }
        }
    }

    chdir("..");
    closedir(dp);
}

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

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

    findAllDirs(path);

    printf("目前你总共写了 %ld 行代码!\n\n",total);

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

使用道具 举报

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

使用道具 举报

发表于 2023-6-2 20:29:24 | 显示全部楼层
0.它只认识机器码
1.汇编语言
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-2 21:16:48 | 显示全部楼层
+
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-6-3 09:27:33 | 显示全部楼层
答案
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-6-3 14:15:09 | 显示全部楼层
怎么解决啊
QQ图片20230603141403.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-3 21:55:32 | 显示全部楼层
gcc致命错误:io.h:没有那个文件或目录
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-3 22:28:08 | 显示全部楼层
答案
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-6-3 23:08:47 | 显示全部楼层
看看
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-6-4 14:20:57 | 显示全部楼层
w(&#65439;Д&#65439;)w
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-16 00:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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