Zihuatanejo7 发表于 2021-9-7 10:47:31

lihai

taohualangzi 发表于 2021-9-7 10:58:09

1

哦啦啦啦志 发表于 2021-9-7 11:31:30

..

a3080543671 发表于 2021-9-7 12:49:24

{:10_269:}{:10_269:}{:10_269:}{:10_269:}

c林某 发表于 2021-9-7 13:00:46

1

1850557652 发表于 2021-9-7 13:39:15

写完了写完了

8749224 发表于 2021-9-7 14:30:36

111

DragonDnce 发表于 2021-9-7 16:17:26

加油

JACKjiu 发表于 2021-9-7 16:22:39

+1

1324158675 发表于 2021-9-7 16:40:30

1

Kymy 发表于 2021-9-7 16:49:50

怎么看答案

2857558098 发表于 2021-9-7 16:50:11

1

爱学习的小鱼呀 发表于 2021-9-7 16:56:59

加油,第一天

斯崔克 发表于 2021-9-7 17:34:09

亲们,趁敌人吃饭时发动进攻。

佚名人 发表于 2021-9-7 17:43:49

谢谢小甲鱼

Kymy 发表于 2021-9-7 17:51:52

为什么我照着打 第19行是错的呢

teng123 发表于 2021-9-7 18:37:54

{:5_90:}

斐波纳税 发表于 2021-9-7 18:55:07

加油

再来亿次 发表于 2021-9-7 19:05:30

#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 countLine(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;
}

fx9413333 发表于 2021-9-7 20:04:43

0.计算机只识别二进制
1.机器语言
2.翻译
3.编译型语言只需要编译一次,解释型语言逐次编译
4.不可以
5.
6.每个字母都有对应的密码
页: 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 [1354] 1355 1356 1357 1358 1359 1360 1361 1362 1363
查看完整版本: S1E2:第一个程序 | 课后测试题及答案