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 判断回文,字符串,一维字符数组 英语单词排序那题还有一点点知识点没找好

    四:心得感悟

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

    五:结对感悟

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

  • 相关阅读:
    WMware 10 Ubuntu 12.04 进入Unity模式
    Spring+Struts集成(第二种方案)
    strut1.X和spring整合的二种方法
    Struts+Spring+Hibernate的Web应用执行过程
    Hibernate配置文件中配置各种数据库的driver、URL
    连接Oracle数据库的Hibernate配置文件
    Hibernate SQL 方言(hibernate.dialect)
    HibernateUtil.java
    hibernate里的generator中class =value介绍
    Hibernate的generator属性
  • 原文地址:https://www.cnblogs.com/1234-tst/p/10615860.html
Copyright © 2011-2022 走看看