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

    第五周作业

    这个教程属于哪个教程 C语言程序设计II
    这次作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/software-engineering-class1-2018/homework/2825
    我在这个课程的目标是 学习字符串,应用于实际题目中
    这个具体在哪个方面帮助我实现目标 类似于实现搜索附近地点的目的
    参考文献

    一:作业编程总结

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

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

       #include<stdio.h>
       #include<stdlib.h>
       #include<string.h>
       int main ()
       {
       int i,t=0;
       char str[10000];
           if((fp=fopen("D:\C语言编程\tanshiting.txt","w+"))=NULL)//打开文件
           {
            printf("file open error!
    ");
            exit(0);
            }
            for(i=0;i<strlen(str);i++)
           {
       fscanf(fp,"%s",str[i]);
       }
       if(str[0]!=' ')
       {
    	t=1;
       }
    
       for(i=1;i<strlen(str)-1;i++)
       {
    	 if(str[i]==' '&&str[i+1]!=' ')
    	 {
    		t++;
    	 }
        }
      fprintf(fp,"%d
    ",t);
          if(fclose(fp)//关闭文件
         {
            printf("Can not close the file!
    ");
            exit(0);
         }
      return 0;
          }
    

    2)设计思路

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

    错误1:结果错误,没有运行起来,我是直接输出一个单词字符。
    错误1的解决办法:我们得计算字符的长度,从而达到真正输出一个一个单词的效果。
    4)运行结果截图

    题目7-2 英文单词排序 (25 分)

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

    输出样例:
    red blue green yellow purple
    1)实验代码

         #include<stdio.h>
         #include<stdlib.h>
         #include<string.h>
         int main()
         {
      int i,j,num;
      char op=' ';
          char str[21][11];
          char k[11];
           if((fp=fopen("D:\C语言编程\tanshiting.txt","w+"))=NULL)//打开文件
           {
            printf("file open error!
    ");
            exit(0);
          for(i=0;;i++)
          {
    	  fscanf(fp,"%s",str[i]);
    	  if(str[i][0]==''')//ASCII值为结束标志符号
    	  {
    		break;
    	}
      }
          str[i][0]='';
              num=i;
    //单词进行排序//
         for(i=0;i<num;i++)
         {
    	 for(j=1;j<num-i;j++)
    	 {
    		if(strlen(str[j-1])>strlen(str[j])) 
    		{
    		strcpy(k,str[j-1]);
    		strcpy(str[j-1],str[j]);
    		strcpy(str[j],k);
    	    }
    	}
    	
      }
          //输出单词与空格//
      for(i=0;i<num;i++)
      {
    	fprintf(fp,"%s%c",str[i],op);
    	
      }
           if(fclose(fp)//关闭文件
         {
            printf("Can not close the file!
    ");
            exit(0);
         }
      return 0;
          }
    

    2)设计思路

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


    错误1:没有仔细审题,审题出现错误,空格的位置输出错误。
    错误1的解决办法:在每个单词的后面输出一个或多个空格。
    本题还是和结对的朋友一起百度一点点搞出来的。
    4)运行结果截图

    二:第五周预习总结


    三:学习进度条

    周/日期 这周所花的时间 代码行数 学到的知识点简介 目前比较的迷惑的问题
    3/11-3/17 八个多小时 35 预习了二维数组,利用二维数组解决实际问题
    3/4-3/10 三个多小时 34 学会创建C语言中的文件,将我们所需的数据和打印出来的数据储存到文件中,学会如何将用户信息进行加密和校验 在用户信息·加密中,对低四位取反,高四位保持不变的操作不是很理解
    3/18-3/24 七个多小时 137 二维数组的初始,选择排序,冒泡排序
    3/25-3/31 七个多小时 82 判断回文,字符串,一维字符数组 英语单词排序那题还有一点点知识点没找好

    四:心得感悟

    二维数组的应用结合起排序对我来说有点困难,就像这次的单词排序题,是想了很多方法,才解决的。

    五:结对感悟

    之前结对分配的都是都不认识的人,就算去认识,但是真的不好去一起讨论问题,每周作业一般都是和室友完成的,结对是有好处,可以互相学习互相发现问题。

  • 相关阅读:
    JavaScript模态对话框类
    事件模块的演变(1)
    html5中可通过document.head获取head元素
    How to search for just a specific file type in Visual Studio code?
    What do 'lazy' and 'greedy' mean in the context of regular expressions?
    正则非获取匹配 Lookahead and Lookbehind ZeroLength Assertions
    regex length 正则长度问题
    Inversion of Control vs Dependency Injection
    How to return View with QueryString in ASP.NET MVC 2?
    今天才发现Google Reader
  • 原文地址:https://www.cnblogs.com/1234-tst/p/10615860.html
Copyright © 2011-2022 走看看