2019春第五周作业Compile Summarize
这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | 在这里 |
我在这个课程的目标是 | 能够精通关于数组内部运作原理 |
这个作业在哪个具体方面帮助我实现目标 | 如何输出一行的连续字符 |
参考文献与网址 | C语言程序设计II 中国专业计算机社区 国内编程师视频网址 |
题目:第五周预习选择题
预习的主要内容:
1:了解什么是C语言之心-----指针
2:变量,内存单元与地址之间的关系
3:如何使用指针变量
第一题
第二题
第三题
第四题
第五题
第六题
第七题
预习中产生的问题
问题1:指针作为函数参数的作用是什么
问题2:在事先不知道的被指对象如何定义指针变量的类型
问题3:形参与实参到底是什么
题目:英文单词排序(文件指针版)
本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。如果长度相同,按照输入的顺序不变。
输入格式:
输入为若干英文单词,每行一个,以#作为输入结束标志。其中英文单词总数不超过20个,英文单词为长度小于10的仅由小写英文字母组成的字符串。
输出格式:
输出为排序后的结果,每个单词后面都额外输出一个空格。
输入样例:
blue
red
yellow
green
purple
#
输出样例:
red blue green yellow purple
一·我的代码
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct Data
{
char data[10];
int len;
}
s[20];
int comp( const void *a ,const void *b)
{
return (*(struct Data *)a).len - (*(struct Data *)b).len;
}
int main()
{
FILE *fp
int i, t;
char ch;
if((fp=fopen("E://chant_ming.txt","r"))==NULL)
{
printf("WASTE\n");
exit(0);
}
for(i = 0; 1; i ++)
{
fscanf(fp,"%s", s[i].data);
s[i].len = strlen(s[i].data);
if(strcmp(s[i].data, "`") == 0)
{
break;
}
}
qsort(s, i, sizeof(s[0]), comp);
if(fclose(fp))
{
printf("can not open\n");
exit(0);
}
for(t = 0; t < i; t ++)
{
printf("%s ", s[t].data);
}
return 0;
}
二·解题流程图
三·解答此题遇见的问题与解决办法
【1】问题截图:
【2】问题原因:因为我在朋友的指点下用了一种比较特殊的方法,有点不熟练。这种方法的复杂度超出我的想象,但是因为时间问题,不足以支持我再重新以另一种方法解答此题。
【3】我是怎么发现这个错误的?
我在国内网站学习到了相关写法,在经历几次失败后改正了。
四·运行结果截图
第四周预习题
由于我的预习题编程总结早在上周就完成,应评分员要求,以及考虑到题目数量大不便评分员查阅,因此附上简化版:
五·结对编程感想:
在晚上的结对编程里,我给我的搭档将她自己的代码讲了个大概,但是总体上我是非常不满意的,具体体现在:
1:我自身实力有限,不能将整个代码给她讲的明明白白清清楚楚。
2:晚上的结对编程我完全是临场发挥,直接自己理解了代码就讲给她,这样的弊端就是自己都没有理解每一行的意思,就说给别人听,别人怎么可能会听懂。
3:我在自身实力不足的情况下就盲目教别人,这样会导致别人误解关于C语言的规则。
关于上述问题,我会尽全力去解决,多下硬功夫,多学硬本领,不忘初心,砥砺前行。
六·学习进度表
| 时间|代码行数|这周所花的时间|学到的知识点简介|目前比较疑惑的问题|
| ------------: | ------------: | ------------: | ------------: |
| 3/2-3/19 |35|两天|通过代码读取文件里的数据,并且在屏幕上打印|为什么文件的使用还要进行关闭
|3/9-3/19 |65|三十分钟|没有学到任何知识点|想知道指针与数组之间的内在联系|
|3/19-3/22|186|五个小时|二维数组的用法加上二分法找元素|需要多打代码多多练习|
| 3/22-3/28 | 31 | 一天 | 字符串的使用 | 数组排序的内部原理 |
2019春第五周作业Compile Summarize的更多相关文章
- 2019春第十周作业Compile Summarize
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 在这里 我在这个课程的目标是 能够对C语言的编写更加得心应手 这个作业在那个具体方面帮助我实现目标 结构体更进一步 参考文献与网址 C语言 ...
- 2019春第八周作业Compile Summarize
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 在这里 我在这个课程的目标是 能更加进一步的够熟练掌握指针的用法 这个作业在那个具体方面帮助我实现目标 指针对于高阶题目的做法 参考文献与 ...
- 2019春第七周作业Compile Summarize
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 在这里 我在这个课程的目标是 能更加进一步的够熟练掌握指针的用法 这个作业在那个具体方面帮助我实现目标 指针对于基础题目的做法 参考文献与 ...
- 2019春第六周作业Compile Summarize
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 在这里 我在这个课程的目标是 能够熟练掌握指针的用法 这个作业在那个具体方面帮助我实现目标 对指针的使用更加得心应手 参考文献与网址 C语 ...
- 2019春第十一周作业Compile Summarize
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 这里 我在这个课程的目标是 能按自己的想法解出题目 这个作业在那个具体方面帮助我实现目标 能朝着软件工程师方向发展 参考文献与网址 C语言 ...
- 2019春第十二周作业Compile Summarize
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 这里 我在这个课程的目标是 能按自己的想法解出题目 这个作业在那个具体方面帮助我实现目标 能朝着软件工程师方向发展 参考文献与网址 C语言 ...
- 2019春第九周作业Compile Summarize
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 这里 我在这个课程的目标是 能更加进一步的够熟练掌握指针的用法 这个作业在那个具体方面帮助我实现目标 能解更多的题 参考文献与网址 C语言 ...
- 2019-2020-1 20199329《Linux内核原理与分析》第五周作业
<Linux内核原理与分析>第五周作业 一.上周问题总结: 虚拟机将c文件汇编成汇编文件时忘记添加include<stdio.h> gdb跟踪汇编过程不熟练 二.本周学习内容: ...
- 2018-2019-1 20189221《Linux内核原理与分析》第五周作业
2018-2019-1 20189221<Linux内核原理与分析>第五周作业 实验四 实验过程 当用户态进程调用一个系统调用时,cpu切换到内核态并开始执行一个内核函数. 在Linux中 ...
随机推荐
- 网络流24题——圆桌问题 luogu 3254
题目传送门:这里 这是网络流24题里最简单的一道,我们从这里开始 虽然是网络流24题之一,但可以不用网络流... 本题采用贪心即可 有一个很显然的思想:在分配每一组时,我们都应当优先分配给当前可容纳人 ...
- Jmeter性能测试之进阶BeanShell的使用
BeanShell 最常用的用法 写好Java代码打成jar, 放到目录\lib\ext下面 package com.test; import java.io.File; import java.io ...
- neo4j 学习笔记
1.参考 https://blog.csdn.net/appleyk/article/category/7408344 系列文章 (不支持 spring boo 2.0 以下的,入门可做参考) 2.底 ...
- 西北地区打不开github的解决办法~
泱泱我大西北,github打不开,的确痛苦的. http://ipaddress.com/ip_lookup/ 先查github.com 可能存在打不开的情况~ 随便找一个web在线代理,就可以查到了 ...
- Python 30分钟快速入门指南
学习地址 中文版:Python 30分钟入门指南 英文版:Learn X in Y minutes 学习时间 2019/03/10 19:00 - 19:32,多用了2分钟.
- (二)文档请求不同源之window.name跨域
一.基本原理 window.name不是一个普通的全局变量,而是当前窗口的名字.这里要注意的是每个iframe都有包裹它的window,而这个window 是top window的子窗口,而它自然也有 ...
- Linq 动态组合排序(Lambda)
最近有个项目需要做一个排班的功能,需要对排班的数据按不同的规则进行排序:因为排序规则是动态变化的,所以不太适合放到数据库中(临时表)中处理: 所以考虑使用Linq的排序方式(按不同的条件判断条件组合排 ...
- Go语言基础(一)
Go语言基础(一) 国庆体验一下大名鼎鼎的Go语言,IDE使用IEDA+Go插件,边敲代码边体会,感觉Go语言好酷 一.Hello World 和Java类似,go文件需要一个package包含,代码 ...
- Windows中杀死占用某个端口的进程(转)
最近写项目,总是出现端口被占用的问题,原来傻傻的把电脑重启一下,终于有一天受不了了,想要想办法解决.刚开始从网上找了好多教程,发现不行.开始自己尝试,终于,成功的将占用端口的进程杀掉.在此记录下过程( ...
- centos7中安装pg数据库
# centos中安装的命令 # yum install postgresql-server.x86_64 # 安装之前可以通过以下命令价差是否已经安装过 rpm -qa | grep postgre ...