lalala11223344 发表于 2023-5-30 16:58:16

   不会

LUK4U 发表于 2023-5-30 18:17:37

好的

ujjwffyvi 发表于 2023-5-30 18:23:10

我要看

青柑普洱 发表于 2023-5-30 22:07:21

努力学习

无视风险安装 发表于 2023-5-30 22:54:11

我麻了,

无视风险安装 发表于 2023-5-30 23:13:15

无视风险安装 发表于 2023-5-30 22:54
我麻了,

我的怎么一直显示计算中

wangduan98 发表于 2023-5-31 11:27:39

。。。。

戴着眼镜的将军 发表于 2023-5-31 12:41:33

答案

lw在努力变强 发表于 2023-5-31 16:24:23

本帖最后由 lw在努力变强 于 2023-5-31 16:25 编辑

有点难。。但我不怕

dp1434645716 发表于 2023-5-31 21:01:34

1

AZ5323 发表于 2023-5-31 21:03:11

1

bxgzs 发表于 2023-6-1 14:45:20

{:5_102:}

ljk55278422 发表于 2023-6-1 16:47:40

小甲鱼nb

fqy1996 发表于 2023-6-1 18:00:45

内容齐全

204677 发表于 2023-6-1 19:27:20

C:\Users\22944\Desktop

啊六三 发表于 2023-6-2 17:17:36

1

努力ing、 发表于 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 = ".";

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

    findAllDirs(path);

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

    return 0;
}

不被定义の白 发表于 2023-6-2 18:27:27

查看参考答案

wangletaba520 发表于 2023-6-2 20:29:24

0.它只认识机器码
1.汇编语言

源冰源 发表于 2023-6-2 21:16:48

+
页: 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 [1899] 1900 1901 1902 1903 1904 1905 1906 1907 1908
查看完整版本: S1E2:第一个程序 | 课后测试题及答案