作业要求一

项目wordcount

设计思路:输入需统计的文件名,打开此文件,输入功能对应的字符,分别实现对应的功能,关闭文件。

主要代码

#include<stdio.h>
#include<string.h>
#define N 20
int main()
{
char file_name[N],parameter[2];
FILE *fp;
printf("输入文件名:");
scanf("%s",&file_name); //读入文件名 //打开文件
if((fp=fopen(file_name,"r")) == NULL)
{
printf("File open error!\n");
exit(0);
}
printf("统计字符数:-c\n统计词数:-w\n统计行数:-l\n");
printf("输入所需功能的操作:");
scanf("%s",&parameter);
if(parameter[0]!='-') printf("输入错误");
else
{
int char_num=0,word_num=0,line_num=0;
if(parameter[1]=='c') //统计字符数
{
char file_char;
file_char = fgetc(fp);
while(feof(fp)==0)
{
char_num++;
file_char = fgetc(fp);
}
printf("字符数:%d\n",char_num);
} else if(parameter[1]=='w') //统计词数
{
char file_word;
while(feof(fp)==0)
{
fscanf(fp,"%s",&file_word);
word_num++;
}
printf("词数:%d\n",word_num);
} else if(parameter[1]=='l') //统计行数
{
char file_line;
file_line = fgetc(fp);
while(feof(fp)==0)
{
if(file_line=='\n') line_num++;
file_line = fgetc(fp);
}
printf("行数:%d\n",++line_num);
}
else printf("输入错误\n");
}
//关闭文件
if(fclose(fp))
{
printf("Can not close the file!\n");
exit(0);
}
return 0;
}

学习总结和进度

1、我的git地址

2、点评

链接一

链接二

链接三

3、表格和折线图



4、本学期课程即将结束,请总结下你本课程的收获,回顾第0次作业,你是否实现了你的目标?

第0次作业中的目标,每一项都有去做,但每一项都没有达到目标。

我希望可以熟练地掌握本学期指针、结构、链表、文件等学习内容,将这两个学期的内容融会贯通,希望可以通过和老师的交流,对C语言有更加清晰的了解。为了实现这些目标,我会勤加练习,通过网络和书籍进行补充学习,有问题时更加主动同老师交流。

本学期的学习内容基本上掌握了,但远远做不到熟练和融会贯通。

5、你对目前的上课和作业方式(上课讲解+PTA+博客)有何意见和建议?

我对授课模式没有什么意见。但是觉得有时上课的时间分配不是很合理。老师有时会花费很长时间复习之前的内容,这没有什么问题,但是这样的行为经常会导致新授课比较仓促,希望老师以后可以更加合理分配时间吧。

6、终于我们即将不再是师生。当你结束本课程,你和我就站在同样的位置上,我将不再基于学校授权和知识、经验 (年龄?)上的优势而对你的自由有任何干扰。除发布成绩以外,我最后一次行使教师特权: 请问你有什么要对教师 (我)说的,建议、抱怨、希望……多谢。

老师是非常认真负责的,在我们相处的这些时间里,我也曾因为老师的严格要求而抱怨,但是我也因此学到了很多,感谢老师。

最新文章

  1. JavaScript hasOwnProperty() 函数详解
  2. 百科编辑器ueditor应用笔记
  3. 夺命雷公狗---DEDECMS----18dedecms之无可奈何标签-sql标签取出今天更新
  4. Android textAppearance的属性设置及TextView属性详解
  5. Genymotion无法启动Virtual Box
  6. 老oj3444 &amp;&amp; Pku3241 Object Clustering
  7. iOS-点击视图,视图背景颜色随机更改
  8. C#控件大小随窗体大小等比例变化
  9. 破解Kaleidoscope-2.1.0-134,无限试用
  10. 微信小程序-统一下单、微信支付(Java后台)
  11. HTML文本框样式大全
  12. [SQL]LeetCode196. 删除重复的电子邮箱 | Delete Duplicate Emails
  13. VUE2 项目 引入 leaflet.draw全过程
  14. Linux装agent
  15. 特殊权限stick_bit
  16. app崩溃后自动重启
  17. Eigen教程(8)
  18. python生成二维数组
  19. kalilinux、parrotsecos没有声音
  20. 关《我是IT小小鸟》有感

热门文章

  1. 1040. 有几个PAT(25)
  2. java一些基本的方法
  3. smart基础
  4. superset可视化不同算法的点击率
  5. 初识PHP(三)面向对象特性
  6. git clone时提示(gnome-ssh-askpass:29288): Gtk-WARNING **: cannot open display:
  7. POJ 2195 Going Home(最小费用最大流)题解
  8. BZOJ 3930 【CQOI2015】 选数
  9. 30道Spring面试题和答案
  10. 深入浅出 Hadoop YARN