• 2019春第五周作业


    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/computer-scienceclass4-2018/homework/2826
    我在这个课程的目标是 学会排列字符串
    这个作业在那个具体方面帮助我实现目标 字符串的判断
    参考文献 C语言程序设计

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

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

    输入格式:

    输入给出一行字符。

    输出格式:

    在一行中输出单词个数。

    输入样例:

    Let's go to room 209.
    

    输出样例:

    5
    

    实验代码:

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

    流程图:

    错误截图:

    问题:思路不清楚,没有理清题目要求,数组设置错误,设置的太小。
    解决:加大数组,写成【1000】.

    正确截图:

    用时:1小时。
    评价:理清思路花费时间过久。

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

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

    输入格式:

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

    输出格式:

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

    输入样例:

    blue
    red
    yellow
    green
    purple
    #
    

    输出样例:

    red blue green yellow purple 
    

    老师要求

    1)通过以自己名字命名的文件输入英文单词
    2)英文单词输入的结束标记为你学号最后一位数+37所对应的ASCII字符。(例如:你的学号最后一位为9,则结束标记为9+37=46所对应的ASCII字符“.”
    3)在不删除原有内容的情况下,将排序后的单词输出到文件。

    实验代码:

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    int main()
    {
         FILE * fp;
    	char line[100][100];
    	char abc[100];
    	int i=0,x,n;
        if((fp=fopen("E:\C语言第二周作业\hehoulin.txt","a+"))==NULL){
            printf("File open error!
    ");
            exit(0);}
            fscanf(fp,"%d",&n);
    while (1) {
    		fscanf(fp,"%s", &line[i]);
    		printf("%s", line[i]);
    		printf("
    ");
    		if (line[i][0] == ',')
    			break;
    		i++;
    	}
    
    	for (i=0;i<n;i++)
    	{
    		for (x=1;x<n-i;x++)
    		{
    			if (strlen(line[x-1]) > strlen(line[x]))
    			{
    				strcpy(abc, line[x-1]);
    				strcpy(line[x-1], line[x]);
    				strcpy(line[x], abc);
    			}
     		}
    	}
    	for (i=0;i<n;i++)
    		printf("%s ",line[i]);
    		fprintf(fp,"%s ",line[i]);
    		
    		if(fclose(fp)){
            printf("Can not close the file!
    ");
            exit(0);
        }
     
    	return 0;
    }
    
    
    

    流程图:

    错误截图:

    问题:数组设置错误。
    解决:应该用二维数组进行程序。

    正确截图:

    评价:数组还是不太熟悉,不知道什么时候该用二维数组。
    用时:3小时。

    预习作业:

    预习的主要内容:

    为了让我们更加了解指针,为了下堂课更好的效果。

    完成情况截图:

    预习中存在的疑惑(至少写出2条):

    1:指针的作用。
    2:什么时候去使用指针。
    3:指针的含义。

    周/日期 这周所花时间 代码行 学到的知识点 问题
    3/25-3/31 18小时 300 如何去定义指针 什么时候去使用指针
    时间 博客字数 代码行数
    第一周 0 50
    第二周 200 100
    第三周 300 200
    第四周 300 250
    第五周 400 300

    学习感悟:

    1:学习了字符串,让我更加懂得了编程。
    2:字符串使用起来是极为方便的,同时它还提供了众多的函数,使得我们可以直接调用,节省很多时间。
    3:我觉得字符串的输入有点不懂。
    4:多去看下类似的代码。

    结对编程:

    1:俩人一起思考编程,事半功倍。
    2:互补,我想不到的,同伴也许可以想到。
    3:一起学习 不无聊。
    缺点:
    会偷懒。

  • 相关阅读:
    网红面试题['1','2','3'].map(parseInt)解析
    微信小程序——评论点赞功能
    微信小程序背景音频播放在6.7.2微信版本兼容
    微信小程序之音频播放
    jquery判断是否为空
    自定义单选按钮
    AJAX防重复提交
    dedecms 开发问题总结及解决方案
    程序员面试被问到“三次握手,四次挥手”怎么办?
    问题:The project cannot be built until build path errors are resolved
  • 原文地址:https://www.cnblogs.com/hhl296738954/p/10620866.html
Copyright © 2020-2023  润新知