鱼C论坛

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

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

    [复制链接]
发表于 2021-7-16 15:03:16 From FishC Mobile | 显示全部楼层
零基础入门学习C语言封面
《零基础入门学习C语言》
小甲鱼 著
立即购买
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-7-16 15:03:47 | 显示全部楼层
d
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

使用道具 举报

发表于 2021-7-16 15:22:20 | 显示全部楼层
查看参考答案
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-16 15:37:53 | 显示全部楼层
#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 0;
        }
        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)
        {
                (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
回复 支持 反对

使用道具 举报

发表于 2021-7-16 15:55:39 | 显示全部楼层
好难啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-16 16:17:04 | 显示全部楼层
修改
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-7-16 16:27:20 | 显示全部楼层
打完代码人都没了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-16 16:54:32 | 显示全部楼层
修改
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-7-16 17:18:22 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-7-16 17:25:21 | 显示全部楼层
编译不了,好奇怪= =
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-16 17:56:12 | 显示全部楼层
0、        计算机使用二进制
1、        机械语言
2、        编译
3、        No
4、        可
5、        No
6、        编译与解释
7、        No
8、        No
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-16 17:58:08 | 显示全部楼层
l和L折磨了我半个小时
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-16 18:27:51 | 显示全部楼层
计算中...
目前你总共写了 2615 行代码!

请按任意键继续. . .


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

使用道具 举报

发表于 2021-7-16 18:42:22 | 显示全部楼层
k
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-7-16 18:58:17 | 显示全部楼层
i know
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-16 20:06:22 | 显示全部楼层
为什么我的windows的17行代码提示错误?明明就是一个 { 呀,要疯了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-16 21:17:29 | 显示全部楼层
甲鱼最帅了!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-16 22:01:04 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-7-16 22:10:15 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-1 18:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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