2018上C语言程序设计(高级)作业- 第4次作业
作业要求一
1、设计思路:
第一步:首先通过cmd进行判断
第二步:根据题目写的分别进入不同的判断函数,进行逐一判断;
2、实验代码:
#include <stdio.h>
#include <string.h>
int main( int argc,char *argv[] )
{
int lines;
int numbers;
int words;
while( argv[2] )
{
if( strcmp(argv[1],"-l") == 0)
{
char ch;
FILE *fp;
fp = fopen( argv[2],"r" );
if( fp == NULL )
{
printf( "File Open Error!\n" );
return 0;
}
ch = fgetc(fp);
lines = 0;
while( ch != EOF )
{
if( ch == '\n' )
{
lines = lines + 1;
}
ch = fgetc(fp);
}
if( fclose(fp) )
{
printf( "Can Not Close The File!\n" );
}
printf( "%s的行数 = %d\n",argv[2],lines );
}
if( strcmp(argv[1],"-c") == 0)
{
int num;
char ch;
FILE *fp;
fp = fopen( argv[2],"r" );
if( fp == NULL )
{
printf( "File Open Error!\n" );
}
ch = fgetc(fp);
num = 0;
while( ch != EOF )
{
num = num + 1;
ch = fgetc(fp);
}
if( fclose(fp) )
{
printf( "Can Not Close The File!\n" );
}
printf( "%s的字符数 = %d\n",argv[2],numbers );
}
if( strcmp(argv[1],"-w") == 0)
{
int word,f;
char ch;
FILE *fp;
fp = fopen( argv[2],"r" );
if( fp == NULL )
{
printf( "File Open Error!\n" );
}
ch = fgetc(fp);
word = 0;
f = 0;
while( ch != EOF )
{
if(((ch >= 'a')&&(ch <= 'z'))||((ch >= 'A')&&(ch <= 'Z')))
{
f = 0;
}else
{
if(f == 0)
{
word = word + 1;
f = 1;
}
}
ch = fgetc(fp);
}
if( fclose(fp) )
{
printf( "Can Not Close The File!\n" );
}
printf( "%s的词的数目 = %d\n",argv[2],word );
}
break;
}
}
(此代码是错误代码,有一个记录字符个数的是不计数的,不会改正了)
作业要求三、学习总结和进度
1、Git地址:
地址
Git截图:

2、点评3个同学的本周作业(在作业中给出被点评同学博客的链接),并邀请3名同学点评你的作业。
3、请用表格和折线图呈现你本学期的代码行数和所用时间、博客字数和所用时间。
表格:

折线图:

4、本学期课程即将结束,请总结下你本课程的收获,回顾第0次作业,你是否实现了你的目标?
总结本学期学的内容,自己感受很多的是学会了指针,链表和文件等等。回顾第0次作业,我在新学期开始的时候给自己定的目标是“希望其表现在当拿到一个项目的时候在审题方面,在想方法、修bug方面都能有很大的提升。”现在学期已过半,C语言的学习已经结束,回想自己的目标,我自己还是认为自己算是实现了。自己在C语言的编程上有了很大的突破,比起上学期那个看到题目就发慌的我,现在虽然遇到难题也发慌,但总体的能力也是提升了不少,自己还是有点小满足的。但这学期自己也并不是自己所预期的那样一直保持着去学习,不去玩游戏什么的。尤其是在最后的这些时间里,我更是有了很大的松懈。自己也曾苦恼,也曾反省过,有人说可能是现在有集体舞什么的,没有时间去学习,但我自己心里很清楚,这种说法无疑是在推卸责任,如果一个人真的想学,那又怎么会被一个集体舞所阻碍呢。
5、你对目前的上课和作业方式(上课讲解+PTA+博客)有何意见和建议?
对于目前的这种上课和作业方式,我感觉挺好的,上课老师把同学在PTA中的问题讲解一下,我们可以及时的把问题弄明白,而博客我自己个人认为它就变成了我的笔记本,能够让我在以后的编程中遇到问题能及时的记录,并且通过及时的复习把知识点得以巩固(虽然我还没有做到及时的复习,只是遇到问题去翻一翻前面所学到的知识点),这样能够让我们的编程能力得到提高。至于建议,我感觉这个模式挺好的,我自己也没有什么好的建议。
6、终于我们即将不再是师生。当你结束本课程,你和我就站在同样的位置上,我将不再基于学校授权和知识、经验 (年龄?)上的优势而对你的自由有任何干扰。除发布成绩以外,我最后一次行使教师特权: 请问你有什么要对教师 (我)说的,建议、抱怨、希望……多谢。
在我们一起陪伴半个学期的时间里,我们一起学习进步,大家都在快乐中度过了,我们有时为难题一起发愁,有时为简单题而喜悦。您陪我们度过半个学期,对我们悉心照顾,我们都看在眼里,虽然有时严厉,但我们心里清楚这对我们的成长很有帮助,我对老师说没有抱怨都是感激,那都是骗人的,一个人怎么会对一个人评价都是优秀而没有批评呢,这是不可能存在的,有时抱怨,也是在老师发布新作业太难自己发发牢骚,对于给老师的建议,我希望老师以后能够尽可能的照顾到每一个同学,(虽然不太现实)但是希望老师尽可能。总之,我们一起度过半个学期,还是要感谢老师您的辛勤栽培,感谢!!!
2018上C语言程序设计(高级)作业- 第4次作业的更多相关文章
- 2018上C语言程序设计(高级)- 第0次作业成绩
作业链接: https://edu.cnblogs.com/campus/hljkj/CS201702/homework/1617 评分规则 本次作业作为本学期的第一次作业,大家态度较诚恳,篇幅都比较 ...
- 2018上C语言程序设计(高级)- 第1次作业成绩
作业地址 https://edu.cnblogs.com/campus/hljkj/CS2017-01/homework/1638 评分准则 第一次作业各项成绩包括三项: 完成PTA所有题目:20分 ...
- 2018上C语言程序设计(高级)- 第2次作业成绩
作业地址 评分准则 第一次作业各项成绩包括三项: 完成PTA所有题目:9分 总结和附加题目:15分 博客记录:70分 博客记录包含三次PTA,共8道题,有正确流程图题目12分,没有的8分: 设计思路2 ...
- 2018上C语言程序设计(高级)作业- 初步计划
C语言程序设计(高级)36学时,每周4学时,共9周.主要学习指针.结构和文件三部分内容.整个课程作业计划如下: PTA和博客的使用指南 若第一次使用PTA和博客,请务必先把PTA的使用简介和教师如何在 ...
- 2018上C语言程序设计(高级)作业- 第0次作业
准备工作(10分) 1.在博客园申请个人博客. 2.加入班级博客(2班班级博客链接地址)(1班班级博客链接地址) 3.关注邹欣老师博客.关注任课老师博客. 4.加入讨论小组,学习过程中遇到问题不要随意 ...
- 2018上C语言程序设计(高级)博客作业样例
要求一(20分) 完成PTA中题目集名为<usth-C语言高级-第1次作业>中的所有题目. 要求二 PTA作业的总结(20分+30分) 将PTA第1次作业作业中以下2道题的解题思路按照规定 ...
- 2018上C语言程序设计(高级)作业- 第4次作业成绩及总结
作业地址 https://edu.cnblogs.com/campus/hljkj/CS2017-01/homework/1842 评分准则 第4次作业各项成绩包括三项: 完成WC项目:60分:基本功 ...
- 2018上C语言程序设计(高级)作业- 第3次作业
作业要求一 6-1 输出月份英文名 6-2 查找星期 6-3 计算最长的字符串长度 6-4指定位置输出字符串 6-5奇数值结点链表 6-6学生成绩链表处理 6-7链表拼接 作业要求二 题目6-1输出月 ...
- 2018上C语言程序设计(高级)作业- 第1次作业
未来两周学习内容 复习指针的定义和引用 指针的应用场景: 指针作为函数参数(角色互换) 指针作为函数的参数返回多个值 指针.数组和地址间的关系 使用指针进行数组操作 数组名(指针)作为函数参数(冒泡排 ...
- 2018上C语言程序设计(初级)作业- 第2次作业
一.预习作业 在课前或者课后观看浙江大学程序设计入门-C语言课程中第2周.第3周的判断部分和第4周的判断部分. 二.PTA作业 完成第7周.第8周和第9周和第10周共8次pta作业,将PTA作业中部分 ...
随机推荐
- ispriter自动构建css-sprite
优化你的网站: 当一个网站中的资源(比如:js文件.css文件.图片等)很多时必然影响用户访问速度,这时候你就需要做网站性能优化,你可以选择把资源分开放在不同的服务器上,因为一个资源服务器最多可以同时 ...
- log4j MDC用户操作日志追踪配置
一.MDC介绍 MDC(Mapped Diagnostic Context,映射调试上下文)是 log4j 和 logback 提供的一种方便在多线程条件下记录日志的功能.某些应用程序采用多线程的方式 ...
- NHibernate 集合映射深入 (第五篇) <set>,<list>,<map>,<bag>
一.集合外键 在NHibernate中,典型的用于映射集合类的元素有<set>,<list>,<map>,<bag>,<array>,< ...
- 从Python学习中得到的一点启发 - Java逆向索引ArrayList
看了几天Python,感觉记忆力不行了,很多东西记不住了.但是终归是得到了一点知识:重写一个ArrayList,允许从负值的索引得到指定的项.然后写一个得到斐波拉契数组的方法,这种方法要比递归调用的方 ...
- NetBpm 数据库(9)
原文:http://blog.csdn.net/adicovofer/article/details/1718592 关注NetBpm也很久了,可是一直没有静下心来研究,为了生活的琐事,太过浮躁……今 ...
- 【Android】Android中如何取消调转界面后EditText默认获取聚焦问题
参考资料: https://www.cnblogs.com/dream-cichan/p/aaaa.html http://blog.csdn.net/u013703461/article/detai ...
- FFmpeg X264的preset和tune
鉴于x264的参数众多,各种参数的配合复杂,为了使用者方便,x264建议如无特别需要可使用preset和tune设置.这套开发者推荐的参数较为合理,可在此基础上在调整一些具体参数以符合自己需要,手动设 ...
- iOS开发-获取子视图坐标系中Point、Rect在父视图坐标系中的实际值
iOS提供了方法来完成上述值得转换 convertRect:toView:, convertRect:FromView: convertPoint:toView: and convertPoint:f ...
- [Linux] 如何修改 Linux 主机名
该方法适用于安装了 Linux 系统的Raspberry Pi & Cubieboard. 在终端执行: sudo vi /etc/hosts 你看到的 hosts 文件应该是这样的: 127 ...
- [Linux] 修改用户名密码
1. 普通用户或root用户修改自身登录密码:在终端使用passwd命令. linaro@linaro-ubuntu-desktop:~$ passwd Changing password for l ...