zoukankan      html  css  js  c++  java
  • 第五周作业

    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/computer-scienceclass4-2018/homework/2826
    我在这个课程的目标是 学会使用字符串进行编程
    这个作业在那个具体方面帮助我实现目标 正确输出一连串字符和使用数组存储
    参考文献 C语言程序设计II

    7-1 统计一行文本的单词个数

    本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
    输入格式:
    输入给出一行字符。
    输出格式:
    在一行中输出单词个数。
    输入样例:
    Let's go to room 209.
    输出样例:
    5

    1)实验代码:

    #include<stdio.h>
    
    int main()
    
    {
    
    char string[10000];
    
    int i,count=0,word=0;
    
    char c;
    
    gets(string);
    
    for (i = 0;(c=string[i])!=''; i++)
    
    if (c == ' ')
    
    word = 0;
    
    
    else if (word == 0)
    
    {
    
    word = 1;
    
    count++;
    
    }
    
    printf("%d
    ",count);
    
    return 0;
    
    }
    

    2)思路图

    3):问题

    运行没问题但编译显示部分正确。

    解决:

    改了下存储值将80改为一万

    4)运行结果:

    预习题:2-1

    下列语句定义 x 为指向 int 类型变量 a 的指针,正确的是(b)。 (2分)
    int a, *x = a;
    int a, *x = &a;
    int *x = &a, a;
    int a, x = a;

    2-2
    int *p 的含义是b (2分)
    p是一个指针, 用来存放一个整型数
    p是一个指针, 用来存放一个整型数据在内存中的地址
    p是一个整型变量
    以上都不对

    2-3
    如果有定义:int m, n = 5, *p = &m; 与m = n 等价的语句是 (b) 。 (1分)
    m = *p;
    *p = *&n;
    m = &n;
    m = **p;

    2-4
    变量的指针,其含义是指该变量的(b )。 (1分)

    地址

    一个标志

    2-5
    有如下程序段
    int p,a=10,b=1;
    p=&a; a=
    p + b;
    执行该程序段后,a的值是 b(2分)
    12
    11
    10
    编译出错

    2-6
    对于下列程序,正确的是(a) 。 (2分)
    void f(int *p)
    {
    *p = 5;
    }
    int main(void)
    {
    int a, *p;

      a = 10;
      p = &a;
      f(p);
      printf(“%d”, (*p)++);
    
      return 0;
    

    }
    5
    6
    10
    11

    2-7
    执行如下程序段,打印输出的内容是:c (2分)

    include <stdio.h>

    void fun (int c, int d) {
    c++;
    (
    d)++;
    }
    int main ( ){
    int a=5, b=9;
    fun(a, &b);
    printf("%d, %d", a, b);
    return 0;
    }
    5, 9
    6, 10
    5, 10
    6, 9

    7-1 英文单词排序

    本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。如果长度相同,按照输入的顺序不变。
    输入格式:
    输入为若干英文单词,每行一个,以#作为输入结束标志。其中英文单词总数不超过20个,英文单词为长度小于10的仅由小写英文字母组成的字符串。
    输出格式:
    输出为排序后的结果,每个单词后面都额外输出一个空格。
    输入样例:
    blue
    red
    yellow
    green
    purple

    输出样例:
    red blue green yellow purple

    1)代码;

    #include<stdio.h>
    #include<string.h>
    int main(void)
    {	
    FILE *fp;
    char input[21][11] = { '' };	
      char snap[11] = { '' };
      int i = 0;
    if((fp=fopen("D:xushasha.txt","w+"))==NULL){
            printf("File open error!
    ");
            exit(0);
        }
     while (1) {	
    printf(fp,"%s
    ",input[i]);	
        if (input[i][0] == '#')		
        break;	
        i++;
        }
        input[i][0] = '';	
        int len = i;
        int j = 0;
        for (i = 0; i < len; i++)	
        {	
          for (j = 1; j < len - i; j++)	
          {	
            if (strlen(input[j - 1]) > strlen(input[j]))	
            {		
              strcpy(snap, input[j - 1]);		
              strcpy(input[j - 1], input[j]);	
              strcpy(input[j], snap);	
              } 
              }	
          
        }	for (i = 0; i < len; i++)	
        printf("%s ", input[i]); 
     if(fclose(fp)){
                printf("Can not close the file!
    ");
                exit(0);
            }
    return 0;
      }
    

    2)思路:

    3)问题:

    不能熟练的运用数组来进行排序编程,对很多字符结构的用法模糊。

    解决:

    百度,看老师和助教录制的视频

    4)运行结果:


    学习进度条

    周/日期 这周所花的时间 代码行数 学到的知识点简介 目前比较迷惑大问题
    3/27-3/29 14个小时 180行 使用字符串编程和数组 数组怎么用

    折线图:


    学习感悟:越学到后面才发现画流程图真的很重要,思路不是一下子有的要一笔一划勾勒出来。而且,这是一门极其需要耐心的学问,我之前总觉得在编程上花了时间但依然效果不大,可能我的学习方法还待改进,态度要好。这学期只有一个心愿了别挂让我秃头都行,抱拳。

    结对的优点

    :1.可以增进友谊,实现双赢。
    2.使编程的工作轻松了不少,思路也通过交流来的快了。
    3.使双方得到监督,也互相学习了。

    缺点:

    也存在编程习惯的差异,不好分工。

  • 相关阅读:
    架构漫谈读后感
    阅读笔记六
    阅读笔记五
    阅读笔记四
    阅读笔记三
    第二次冲刺周期第二天
    第二次冲刺周期第一天
    一轮项目冲刺——移山小分队(10)
    一轮项目冲刺——移山小分队(9)
    一轮项目冲刺——移山小分队(8)
  • 原文地址:https://www.cnblogs.com/saury/p/10623433.html
Copyright © 2011-2022 走看看