鱼C论坛

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

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

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

使用道具 举报

发表于 2021-11-29 20:35:29 | 显示全部楼层
yaodaan aaa
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-29 20:57:57 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-11-29 21:27:08 | 显示全部楼层

#include <io.h>
#include <direct.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX      256

long total;

int countlines(const char *filename);
void findAllCodes(const char *path);
void findALLFiles(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 findAllCodes(const char *path)
{
                 struct _finddata_t fa;
                 long handle;
                 char thePath[MAX],target[MAX];
                
                 strcpy(thePath,path);
                 if((handle = _findfirst(strcat(thePath,"/*.c"),&fa))!= -1L)
                 {
                                 do
                                 {
                                                 sprintf(target,"%s/%s",path,fa.name);
                                                 total += countLines(target);
                                        
                                 }while(_findnext(handle,&fa)== 0);
                                 
                 }
                 
                 _findclose(handle);
}

void findALLDirs(const char *path)
{
                 struct _finddata_t fa;
                 long handle;
                 char thePath[MAX];
                
                 strcpy(thePath,path);
                 if((handle = _findfirst(strcat(thePath,"/*"),&fa))== -1L)
                {
                        fprint(stderr,"The path %s is wrong!\n",path);
                        return;
                }
               
                do
                {
                                if(!strcmp(fa.name,".")|| !strcmp(fa.name,".."))
                                        continue;
                                       
                                if(fa.attrib == _A_SUBDIR)
                                {
                                                sprintf(thePath,"%s/%s",path,fa.name);
                                                findAllCodes(thePath);
                                                findALLSirs(thePath);
                                       
                                }
                }while(_findnext(handle,&fa) == 0);
               
                _findclose(handle);
       
}

int main()
{
                 char path[MAX] = ".";
                
                 printf("计算中...\n");
                
                 findAllCodes(path);
                 findALLDirs(path);
                
                 printf("目前你总共写了%1d 行代码!\n\n",total);
                 system("pause");
                
                 return 0;
}
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-29 21:51:22 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-11-29 22:36:20 | 显示全部楼层
趴在桌上检查了一个小时,总算是检查出来问题了,原来是findALLDirs函数里面的if语句少打了一个括号,擦擦擦擦擦
而且好像还第一次改过之后没有保存,第二次整个检查的时候再次翻到那里发现没改过来,我擦擦啊,
总算是OK了,哇哇哇,这种成就感,实在是太爽了啊、
爽爽爽
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-29 22:55:01 | 显示全部楼层
鱼哥,请教个问题。win10下VSCode运行代码(多少行代码那个)出现了问题。分别尝试了自己手打代码和直接复制源码两种方法,均无法运行。都是中文乱码。[code]璁$畻涓
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-29 23:21:41 From FishC Mobile | 显示全部楼层
好诶
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-11-29 23:42:57 | 显示全部楼层
看看
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-11-30 00:03:06 | 显示全部楼层
求教,为啥我打出来的代码只显示总共写了7行代码?把题目上的代码复制进去也是7行。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-30 00:42:53 | 显示全部楼层
0.因为他只能识别二进制的机器语言
1.机器语言
2.编译
3.编译型通过编译直接将程序语言转换成机器语言,而解释型语言需要解释器
4.不可以
5.使用高级程序语言
6.0和1
7.不清楚
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-30 01:13:16 From FishC Mobile | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-11-30 10:05:30 | 显示全部楼层
谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-11-30 10:16:55 | 显示全部楼层
C:\Users\Ron\Desktop\fishc\s1e2\s1e2
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-30 10:18:17 | 显示全部楼层
看下对了几个。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-30 10:53:05 | 显示全部楼层
我好久没逛论坛了!新人报到第一天!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-30 13:56:59 From FishC Mobile | 显示全部楼层
朕想知道
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-30 15:13:25 | 显示全部楼层
零零零零
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-30 15:49:39 | 显示全部楼层
谢谢了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-30 16:07:54 | 显示全部楼层
呜呜呜
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-30 04:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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