这个作业属于哪个课程 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的更多相关文章

  1. 2019春第十周作业Compile Summarize

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 在这里 我在这个课程的目标是 能够对C语言的编写更加得心应手 这个作业在那个具体方面帮助我实现目标 结构体更进一步 参考文献与网址 C语言 ...

  2. 2019春第八周作业Compile Summarize

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 在这里 我在这个课程的目标是 能更加进一步的够熟练掌握指针的用法 这个作业在那个具体方面帮助我实现目标 指针对于高阶题目的做法 参考文献与 ...

  3. 2019春第七周作业Compile Summarize

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 在这里 我在这个课程的目标是 能更加进一步的够熟练掌握指针的用法 这个作业在那个具体方面帮助我实现目标 指针对于基础题目的做法 参考文献与 ...

  4. 2019春第六周作业Compile Summarize

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 在这里 我在这个课程的目标是 能够熟练掌握指针的用法 这个作业在那个具体方面帮助我实现目标 对指针的使用更加得心应手 参考文献与网址 C语 ...

  5. 2019春第十一周作业Compile Summarize

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 这里 我在这个课程的目标是 能按自己的想法解出题目 这个作业在那个具体方面帮助我实现目标 能朝着软件工程师方向发展 参考文献与网址 C语言 ...

  6. 2019春第十二周作业Compile Summarize

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 这里 我在这个课程的目标是 能按自己的想法解出题目 这个作业在那个具体方面帮助我实现目标 能朝着软件工程师方向发展 参考文献与网址 C语言 ...

  7. 2019春第九周作业Compile Summarize

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 这里 我在这个课程的目标是 能更加进一步的够熟练掌握指针的用法 这个作业在那个具体方面帮助我实现目标 能解更多的题 参考文献与网址 C语言 ...

  8. 2019-2020-1 20199329《Linux内核原理与分析》第五周作业

    <Linux内核原理与分析>第五周作业 一.上周问题总结: 虚拟机将c文件汇编成汇编文件时忘记添加include<stdio.h> gdb跟踪汇编过程不熟练 二.本周学习内容: ...

  9. 2018-2019-1 20189221《Linux内核原理与分析》第五周作业

    2018-2019-1 20189221<Linux内核原理与分析>第五周作业 实验四 实验过程 当用户态进程调用一个系统调用时,cpu切换到内核态并开始执行一个内核函数. 在Linux中 ...

随机推荐

  1. 叩响C#之门-继承

    就记录下一些概念,以供备忘. 一生二,二生三,三生万物.类类相生,生生不息.   重写和重载的区别: 重载是指同一个类中相同名称但参数不同的方法. 重写是指继承关系中,在派生类中重写由基类继承来的方法 ...

  2. mq_receive

    NAME mq_receive - 从消息队列中获取消息 (REALTIME) SYNOPSIS #include <mqueue.h> ssize_t mq_receive(mqd_t ...

  3. 理解Python协程:从yield/send到yield from再到async/await

    Python中的协程大概经历了如下三个阶段:1. 最初的生成器变形yield/send2. 引入@asyncio.coroutine和yield from3. 在最近的Python3.5版本中引入as ...

  4. Linux shell 脚本报错:/bin/bash^M: bad interpreter: No such file or directory

    今天遇到一个很诡异的问题,一直运行很正常的shell脚本失败了,只是昨天增加了一个参数而已. 报错信息: /bin/bash^M: bad interpreter: No such file or d ...

  5. Mac解决某些命令失效问题

    PS:今天安装groovy,需要设置环境变量,vim -/.bash_profile,然后立马执行了source -/.bash_profile.最后,发现ls,more,vim等常用命令失效了.立马 ...

  6. MyBatis:SQL语句中的foreach的详细介绍

    foreach 也就是遍历迭代,在SQL中通常用在 in 这个关键词的后面foreach元素的属性主要有 item,index,collection,open,separator,close. 分别代 ...

  7. Django 启动源码

    handler = self.get_handler(*args, **options) run(self.addr, int(self.port), handler,ipv6=self.use_ip ...

  8. js两个箭头 =>()=>()

    request(_ action)let withStatus =status =>action=> R.merge(action, (status])let request = with ...

  9. K个排序链表的合并(Hard)

    问题来源:选自leetCode 23:合并K个排序链表 问题描述: 题目给定信息: 不确定需要合并的链表的数目,但依然要求我们把给定的这些有序链表合并成一个链表,并且保证合并的链表依然是有序的. 问题 ...

  10. Linux 内核参数 arp_ignore & arp_announce 详解

    arp_ignore定义了对目标地址为本机IP的ARP询问的不同应答模式. arp_announce对网络接口(网卡)上发出的ARP请求包中的源IP地址作出相应的限制:主机会根据这个参数值的不同选择使 ...