夜卜訷 发表于 2020-10-1 14:14:41

1

努力学C的我 发表于 2020-10-1 14:14:57

{:10_277:}

ErrorRua 发表于 2020-10-1 15:04:55

66666

xingye9394 发表于 2020-10-1 15:37:19

qqqqqqqq

hcc1996 发表于 2020-10-1 16:07:50

测试题答案

我了个去哈哈哈 发表于 2020-10-1 16:14:00

0.0

微笑的弧度 发表于 2020-10-1 16:29:20

支持小甲鱼{:10_254:}

xielinjie 发表于 2020-10-1 16:35:40

对一波答案

dameidamia 发表于 2020-10-1 17:10:17

感谢分享。

wzlin570 发表于 2020-10-1 17:30:46

2020作业打卡

2894499650 发表于 2020-10-1 17:30:56

Orz

我了个去哈哈哈 发表于 2020-10-1 17:48:04

救命呀

我了个去哈哈哈 发表于 2020-10-1 17:48:48

为什么说找不到countLines

787047636 发表于 2020-10-1 18:18:35

nice

QYH_super 发表于 2020-10-1 18:53:00

0.

胡萝卜夏目 发表于 2020-10-1 19:44:01

0:
1:机器语言
2:编译
3:产不产生目标代码
4:不一定

135813 发表于 2020-10-1 20:03:35

空白

Chal1ce 发表于 2020-10-1 20:28:33

//
//main.c
//FishC
//
//Created by Cha1ce on 2020/10/1.
//Copyright © 2020 Cha1ce. All rights reserved.
//
#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;
}

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 = ".";
   
    printf("计算中...\n");
   
    findALLDirs(path);
   
    printf("目前你总共写了 %ld 行代码!\n\n", total);
   
    return 0;
}

yiyezhiqiu27 发表于 2020-10-1 21:10:50

,,,,,,

yiyezhiqiu27 发表于 2020-10-1 21:14:49

目前写了103行代码
页: 870 871 872 873 874 875 876 877 878 879 [880] 881 882 883 884 885 886 887 888 889
查看完整版本: S1E2:第一个程序 | 课后测试题及答案