2019春第五周做业

这个做业属于哪一个课程 C语言程序设计II
这个做业要求在哪里 2019年春季学期第五周做业
我在这个课程的目标是 我但愿可以经过学习C语言的知识,编写程序
这个做业在哪一个具体方面帮助我实现目标 这个做业让我知道了字符串的基本概念及使用方法,理解了字符串与一维字符数组的区别、字符串的存储以及字符串的操做方法。明白了如何正确使用字符串进行程序设计。
参考文献 字符串 菜鸟教程C 标准库 - <string.h> 《C语言程序设计》指针

1、本周完成的做业

题目1. 第四周预习题

本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数能够是多个。html

输入格式:
输入给出一行字符。编程

输出格式:
在一行中输出单词个数。数组

输入样例:ide

Let's go to room 209.

输出样例:学习

5

1).实验代码

#include<stdio.h>
#include<string.h>

int main(void)
{
  int i, count, len;
  char ch[1000];
  
  gets(ch); 
  
  len = strlen(ch);
  
  if(ch [0] == ' ')
    count = 0;
  else
    count = 1;
    
  for(i = 0;i < len - 1;i ++)
  {
    if(ch [i] == ' ' && ch [i+1] != ' ')
    count ++;
  }
  printf("%d", count);
  
  return 0;
}

2). 设计思路

3).本题调试过程碰到问题及解决办法

遇到的问题:由测试点提示的错误信息就能够得出,字符串的长度不够
解决的办法:该题老师上课以给咱们看过了代码与流程图,按老师方法能够很流畅的写出来,可是我想尝试一下是否能够把 字符串长度设小一点节省内存空间,结果发现100仍是过小了不行。

4).运行结果截图

题目2. 第五周做业—基础

7-1 英文单词排序 (25 分)
本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。若是长度相同,按照输入的顺序不变。测试

输入格式:
输入为若干英文单词,每行一个,以#做为输入结束标志。其中英文单词总数不超过20个,英文单词为长度小于10的仅由小写英文字母组成的字符串。设计

输出格式:
输出为排序后的结果,每一个单词后面都额外输出一个空格。3d

输入样例:指针

blue
red
yellow
green
purple
#

输出样例:调试

red blue green yellow purple

新增要求:
基础做业
PTA:英文单词排序
要求:
1.在PTA上完成做业
2.博客总结须要将PTA上代码作如下修改:(1)经过以本身名字命名的文件输入英文单词,(2)英文单词输入的结束标记为你学号最后一位数+37所对应的ASCII字符。(例如:你的学号最后一位为9,则结束标记为9+37=46所对应的ASCII字符“.”)(3)在不删除原有内容的状况下,将排序后的单词输出到文件。

1).实验代码

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

int main(void)
{
  FILE * fp = fopen("C:\\Users\\LILI\\Desktop\\LX\\lixuan.txt", "a+");
  
  int i=0, j, k;
  char  zf[21][11];
  
  while(1)
  {
    fscanf(fp,"%s", &zf[i]);

    if(zf[i][0] == ',')
        break;
        i++;
  }
  
  fprintf(fp,"\n") ;
  for(j = 1;j <= 10;j ++)
  {
    for(k = 0;k < i;k++)
    {
        if(strlen(zf[k]) == j)
         fprintf(fp,"%s ", zf[k]);
    
      }
  }
   fclose(fp);
   
   return 0;
}

2). 设计思路

3).本题调试过程碰到问题及解决办法

遇到的问题:答案错误,空集正确是由于什么都没有输出就是空集,因此应该是输出的地方有问题
解决的办法:搭档看出了我双循环的判断时逻辑有错误,应该将判断字符长度放在循环里。

4).运行结果截图

题目3.第五周做业—预习

1).预习的主要内容

指针:
1.什么是指针
2.什么是指针变量,而且如何定义,和给其赋值
3.如何引用指针变量

2).完成状况截图



3).预习中存在的疑惑

1. 2-3:指针能够直接存储一个须要输出的数吗?
2.指针的具体使用还有哪些?

题目4. 挑战做业:

继续挑战第二周的挑战做业:返回整数数组中最大子数组的和,本周,咱们要求二维数组的子数组必须是矩形的。
具体要求参看邹欣老师博客 现代程序设计做业2

1). 设计思路

第一步 输入二维数组
第二步 循环进行相邻几行几列相加进行比较大小
第三步 再循环比较大小的同时也不断将最大的几行几列的地址存储在另外一个数组中
第四步 输出最大矩形子数组的和

2、学习进度条

周/日期 这周所花的时间 代码行数 学到的知识点简介 目前比较迷惑的问题
3/2-3/8 20h 300行 数组,指针的大体意义,文件入门 数组串的使用,指针
3/9-3/15 25h 400行 二维数组,文件与数组的结合运用 双for循环的流程图(再不上课,光自学感受太艰难了)
3/16-3/22 22h 450行 一维数组,二维数组,几种数组排序法 字符串使用
3/23-3/29 20h 350行 字符串的定义及其使用 指针的具体使用

3、学习感悟

心得:

(1) 学习内容:
1. 字符串与一维字符数组的区别
2. 字符串的存储以及字符串的操做方法
收获:自从上周本身彻底靠本身的思路写出了一个程序后,发现本身比上个学期懵懵懂懂编程的状态好多了,如今比较可以明确的知道本身的思路,也能够更快的找出一些错误。本周学会了字符串及其的使用。
(2) 难点:挑战题太难了,其中的子数组的范围究竟是指什么。

解决的方法:自行百度了一下,但仍是没有彻底理解其意思。

4、结对编程

1.结对编程过程

有了上次结对编程后的磨合,懂得告终对编程应该怎样进行,本周除了挑战题,做业难度都不是特别大,预习题本身独立完成,基础题由我先说出本身思路,搭档修改个人思路并提供新思路引导我完成。

2.结对编程的优缺点

优势:1.在编程时有了更多探讨的过程,而不是一我的死钻
2.为编程提供了更多的解答思路
3.在代码出错而怎么都找不到错误时不会一我的自我崩溃,而是有我的会帮你一块儿找出问题
缺点:可以面对面结对的时间太少了。

完成做业的消耗时间:12h

相关文章
相关标签/搜索