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

    2019春第五周作业

    这个作业属于哪个课程? C语言程序设计Ⅱ
    这个作业的要求在哪? https://edu.cnblogs.com/campus/zswxy/MS/homework/2829
    我在这个课程的目标是 能使用字符串进行程序设计
    这个作业在哪个具体方面帮我实现目标 新的知识点,新的算法
    参考文献 《C语言程序设计》,

    第四周预习题

    7-1 统计一行文本的单词个数 (15 分)

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

       

    输入格式:

        输入给出一行字符。

    输出格式:

    在一行中输出单词个数。

    输入样例:

    Let's go to room 209.
    

    输出样例:

    5
    1.实验代码

    #include<stdio.h>

    #include<string.h>
    int main()
    {
            int i,len,num;
      char zf[1000];
     
      gets(zf);
      len =strlen(zf);
     
      if (zf[0]==' ')
      num=0;
      else
      num=1;
     
      for(i=0;i<len-1;i++)
      {
        if(zf[i]==' '&&zf[i+1] !=' ')
        num++;
      }
      printf("%d",num);
      return 0;
    }

    2.设计思路:

    具体思路:题目要求统计一行文本的单词个数,即输出文本中所出现的空格数,而单词数就是空格数=1。

    3.遇到的问题及解决方法

    此题老师再上课时当作例题讲解过,所以基本也没什么问题,也不明白" ' "这样连接的算一个单词,然后就是对字符型的输入,处理等方面还比较生疏,不知道怎样应用。

    4.运行结果截图

    第五周预习题

     1.预习内容

    指针变量的含义:指针是用来存放内存地址的变量,使用指针可间接访问内存和操纵地址。

    如何对指针变量进行赋值?

    假设有定义:int i, *p;则p=&i;需注意的是:指针变量被赋的值是地址。

    2.作业截图


    2.1 此题考察的是指针定义的正确写法,此题翻阅书上的知识可得正确答案。

    2.2 此题考查的是指针的定义,指针是用来存放地址的。

    2.3 在此题中,int m, n = 5, *p = &m就是定义 p为指向 int 类型变量 m的指针,若需满足要求m=n,则可以句定义 p 为指向 int 类型变量 n的指针,所以选B。

    2.4 这是指针变量的定义,指针是用来存放内存地址的变量。

    2.5 p=&a;使指针变量p指向a,此时p=10,所以后面的a=p+b=10+1=11。

    2019春第五周作业——基础(计算机)

    7-1 英文单词排序 (25 分)

     

    本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。如果长度相同,按照输入的顺序不变。

    输入格式:

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

    输出格式:

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

    输入样例:

    blue
    red
    yellow
    green
    purple
    #
    

    输出样例:

    red blue green yellow purple 
    实验代码:

        

        #include<stdio.h>
        #include<stdlib.h>
        #include<string.h>
        int main(void)
        {
            FILE * fp;
            int i,m,j,k,d;
            char a[21][11];
            int b[21],c[21];
            if((fp=fopen("C:\gonghan.txt","a+"))==NULL){
                printf("File open error! ");
                exit(0);
            }
            for(i=j=0;;i++){
                j=0;
                for(;;j++){
                fscanf(fp,"%c",&a[i][j]);
                if(a[i][j]==' '){
                    break;
                    }
                }
                b[i]=j;
                c[i]=i;
                if(a[i][j-1]=='#'){
                    break;
                }
            }
            k=i;
            for(i=0;i<k-1;i++){
                m=i;
                for(j=i+1;j<k;j++){
                    if(b[m]>b[j]){
                        m=j;
                    }
                }
                j=b[m];
               d=c[m];
               c[m]=c[i];
               c[i]=d;
               b[m]=b[i];
               b[i]=j;
           }
           for(i=j=0;k>0;k--,i++){
               for(j=0;j<b[i];j++){
                   fprintf(fp,"%c",a[c[i]][j]);
                   printf("%c",a[c[i]][j]);
               }
               fprintf(fp," ");
               printf(" ");
           }
           if(fclose(fp)){
               printf("Can not close the file! ");
               exit (0);
           }
           return 0;
       }


     

    2.设计思路:


    题目要求把单词按长度从小到大排序后输出,所以我选择的是利用上周所学的选择排序法来解决此题。先把单词存入数组中,注意在输入时,
    输入回车键即代表结束这一行的输入,数组b[i]代表这一行单词中字母个数,c[i]代表这一行中的单词个数。当输入#时结束。然后用选择排序法将所有单词按字母个数进行排序输出。

    实验过程中遇到的问题和解决方法:

    此题是靠编程伙伴黄诺诚完成的,在过程中我的代码出现了很多错误,有些代码用int 定义是不行的,需要用char定义,数组的赋值运用strcpy进行字符串的赋值(复制),我自己的理解,我在代码中进行下标的位置互换,导致错误。然后和黄诺诚讨论后,用了他的代码。

    运行结果截图:

     学习进度条:

    学习感悟:作业之前的准备真的十分重要,临阵磨枪真的不好使,太烧脑了,所以以后要多在草稿纸上多写写,多画画。还有就是看题太重要了,你必须要看懂题目的意思,题目到底是在要求我们干什么,不然也很容易进入误区。

    结对编程感悟:编程伙伴又改了,不知道怎么说,这次的伙伴是自行组织的,所以以后的效果会比之前要好的多吧。

    
    
  • 相关阅读:
    通过git向github提交项目
    git连接github mac
    char如何储存3个字节或者4个字节
    centOS 7安装jdk
    在移动端语言react中使用video.js
    小程序自定义头部navbar组件
    git常用指令汇总学习
    react表单
    react从入门到熟悉(回顾react)
    react生命周期
  • 原文地址:https://www.cnblogs.com/Jay-h/p/10620986.html
Copyright © 2011-2022 走看看