饭碗z 发表于 2019-7-28 19:33:19

s1e1的代码为啥最后跟答案不一样

我最后的答案是exited with code=0 in 413.231 seconds

df3379 发表于 2019-7-28 20:27:31

完整源代码贴上来看看

饭碗z 发表于 2019-7-28 21:13:10


#includ<io.h>
#includ<direct.h>
#includ<stdio.h>
#includ<stdilb.h>
#includ<string.h>

#define MAX       256

long total;

int countLines(const char *filename);
void findAllCodes(const char *path);
void findALLFiles(const char *path);

int countLines(constchar *filename);
{
    filename *fp
    int count = 0;
    inttemp;

    if ((fp = fopen(filename,"r")) ==NUULL)
    {
      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 findAllCodes(constn char *path)
{
    struct _finddata_t fa;
    long handle;
    char thePath, target;

    strcpy(thePath, Path);
    if((handle= _findfirt(strcat(thePath, "/*.c"), &fa)) != -1L)
    {
      do
      {
            sprintf(target, "%s/%s", path, fa.name)
            total += countLines(target);
      }while (_findnext(handle, &fa) == 0);
    }

    _fondclose(handle);
}

void findALLDies(const char *path)
{
    steuct _finddata_t fa;
    long handle;
    char thePath;

    strcpy(thePath, path);
    if((handle = _findfirst(strcat(thePath, "/*"), &fa)) == -1L)
    {
      fprintf(stderr, "The path %s is wrong!\n",path);
      return;
    }

    do
    {
      if(!strcmp(fa.name, ".") || !strcmp(fa.name, ".."))
               continue;

               if( fa.attrib == _A_SUBDIR)
               {
                   printf(thePath,"%s/%s", path, fa.name);
                   findAllCodes(thePath);
                   findALLDirs(thePath);
               }
    }while (_findnext(handle, &fa) == 0);

    _findclose(handle);
}

int main()
{
    char path = ".";

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

    findAllCodes(path);
    findALLDirs(path);

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

    return 0;
}

天地~玄黄 发表于 2019-7-29 14:47:14

源代码的头文件是#include,不是#includ
第18行 filename *fp 这里要改为 FILE *fp;       你少了分号
第57行_fondclose(handle); 改为 _findclose(handle);            单词打错了
第60行 void findALLDies(const char *path) 改为 void findALLDirs(const char *path)      单词打错
第62行 steuct _finddata_t fa; 改为 struct _finddata_t fa;            单词打错
第80行 printf(thePath,"%s/%s", path, fa.name); 改为 sprintf(thePath, "%s/%s", path, fa.name);单词打错

饭碗z 发表于 2019-8-1 11:45:30

{:10_257:}辛苦了,都没发现谢谢啦
页: [1]
查看完整版本: s1e1的代码为啥最后跟答案不一样