zoukankan      html  css  js  c++  java
  • 第五周总结

    这个作业属于那个课程

    C语言程序设计II

    这个作业要求在哪里

    https://edu.cnblogs.com/campus/zswxy/computer-scienceclass4-2018/homework/2826

    我在这个课程的目标是

    熟练指针,能够精通关于数组内部运作原理

    这个作业在那个具体方面帮助我实现目标

    如何输出一行的连续字符

    参考文献

    C语言程序设计II

    第四周预习作业

    统计一行文本的单词个数

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

    输入格式:

    输入给出一行字符。

    输出格式:

    在一行中输出单词个数。

    代码

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

    思路图

    实验过程中遇到的问题

    问题:char a[]的储存值取小了,导致运行超时

    结果截图

    基础作业

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

    输入格式:

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

    输出格式:

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

    代码

    #include<stdio.h>
    #include<stdlib.h>
    int main(void)
    {
        FILE *fp;
        char input[100];
        char snap[100];
        int i = 0,L,j=0;
        if((fp=fopen("E:caozheng.txt","w+"))==NULL){
            printf("File open error!
    ");
            exit(0);
        }
            while(1){
            scanf("%s", input[i]);
            fprintf(fp,"%s
    ",input[i]);
            if(input[i]=='%')           
    break;
            i++;
        }
        input[i]= '';    
        L = i;
        for (i = 0; i < L; i++)
        {
            for (j = 1; j < L - i; j++)
            {
                  int a=strlen(input[j-1]);
                  int b=strlen(input[j]);
                if (a>b)
                {
                    strcpy(snap, input[j - 1]);
                    strcpy(input[j - 1], input[j]);
                    strcpy(input[j], snap);
                }
            }
        }
        for (i = 0; i < L; i++)
            fprintf(fp,"%s ", input[i]); 
            for(i=0;i<L;i++)
            printf("%s ", input[i]);
            if(fclose(fp)){
                printf("Can not close the file!
    ");
                exit(0);
            }
        return 0;
    }

    思路图

    错误截图

    问题

    怎么交换两个数组的数字;

    解决方法,通过字符串复制函数strcopy(s1,s2)把字符串s2复制到s1。

    结果截图

    预习作业

    预习内容

    主要内容就是连接链表,多级指针的运用,以及自定义函数中利用指针可以非常非常非常方便的有多个返回值

    预习中的疑惑

    1.一个指针访问一次内存地址的耗时

    2.创建一次链表需要的时间对整个程序的影响

    结对编程

    1.结对编程的感悟

      结对编程让我们相互分享各自的观点,互相学习编程技巧;还可以让我们互相监督,不容易偷懒

    时间

    代码行数

    这周所花的时间

    学到的知识点简介

    3/2-3/19

    35

    四小时左右

    通过代码读取文件里的数据,并且在屏幕上打印

    3/9-3/19

    65

    三十分钟

     

    3/19-3/22

    186

    五个小时左右

    二维数组的用法加上二分法找元素

    3/22-3/28

    31

    三小时左右

    字符串的使用

  • 相关阅读:
    java学习--基础知识进阶第十一天--笔记
    java学习--基础知识进阶第十天--笔记
    java学习--基础知识进阶第十天--标准输入流 & 转换流 & 打印流、对象操作流 、Properties集合
    java学习--基础知识进阶第九天--笔记
    java学习--基础知识进阶第九天-- File类、字符流与字节流
    java学习--基础知识进阶第八天--笔记
    java学习--基础知识进阶第八天--异常体系&异常处理、Throwable常用方法&自定义异常、递归
    java学习--基础知识进阶第七天--笔记
    java学习--基础知识进阶第七天--HashSet集合、HashMap集合(集合遍历)
    java学习--基础知识进阶第六天--笔记
  • 原文地址:https://www.cnblogs.com/LUMO/p/10617978.html
Copyright © 2011-2022 走看看