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

    2019春季第五周作业

    | 问题 | 回答 |
    | 作业所属科目 | C语言程序设计 |
    | 作业的基本要求 | 第五周作业 |
    | 我在这个课程的目标是 |学会使用字符串 |
    | 这个作业在哪个具体方面帮助我实现目标 |字符串的输入输出 |
    | 参考文献 | C语言程序设计 |

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

    include<stdio.h>

    include<string.h>

    int main()
    {
    int i, len, count;
    char zf[1000];

    gets(zf);
    len = strlen(zf);
    
    if(zf[0] == ' ')
    count = 0;
    else
    count = 1;
    
    for(i = 0;i < len-1; i++)
    {
    	if(zf[i] == ' ' &&zf[i+1] != ' ')
    	count++;
    }
    printf("%d",count);
    

    2)流程图

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

    问题:不知道要把数组设多大,还有就是思路不完整,输出答案错误,对题目理解不够透彻
    解决办法:尝试把数组写大,多次尝试空格,就对了,还有思路是根据那个测试点修改了就可以了

    4)运行结果截图

    对题目理解不是很深

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

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

    1)实验代码

    include<stdio.h>

    include<string.h>

    int main(void)

    {

    char ar[25][20] = { '' };
    
    char b[15] = { '' };
    
    int i = 0;
    
    while (1) {
    
    	gets(ar[i]);
    
    	if (ar[i][0] == '#')
    
    		break;
    
    	i++;
    
    }
    
    ar[i][0] = '';
    
    int len = i;
    
    int j = 0;
    
    for (i = 0; i < len; i++)
    
    {
    
    	for (j = 1; j < len - i; j++)
    
    	{
    
    		if (strlen(ar[j - 1]) > strlen(ar[j]))
    
    		{
        strcpy(b, ar[j - 1]);
    
    			strcpy(ar[j - 1], ar[j]);
    
    			strcpy(ar[j], b);
    
    		}
    
    	}
    
    }
    
    for (i = 0; i < len; i++)
    	printf("%s ", ar[i]);
    return 0;
    

    }

    2)流程图

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

    问题:忘记注意格式,还有就是对于字符串内的一些函数不知道,一开始不知道在输入的时候怎么跳出循环
    解决办法:运行的时候根据结果进行修改和答案错误。

    4)运行结果截图

    5)评价
    发现这一题做完,我已经快要绝望
    用时:N H

    预习作业:
    1)预习的主要内容
    主要是了解了指针,知道怎么定义指针的一般形式,知道了内存单元的内容和内存单元的地址的区别,定义多个指针变量时,每个指针变量前面都必须加*,和指针的基本运算,还有将指针变量初始化
    2)完成情况截图(要求有题目和答案)

    3)预习中存在的疑惑(至少写出2条)
    1.对“空格数可以是多少个”,没有完全理解
    2,当为两个空格时,答案错误

    学习进度条

    学习感悟
    1,地址和指针的定义与应用
    2,指针变量的定义
    3,指针的基本运算
    4,指针变量的初始化

    结对编程的感悟
    1,我发现我的搭档的想法有时候根本和我不一样,一点都不一样
    2,写出来的代码更加不一样
    3,促进了我们C语言这方面的思想思维交流
    4,有利于推动我们的学习进度
    5,但是,利大于弊,当两个完全不爱学习的人结对成搭档时,可能是不会学习的
    6,当两个爱学习的人组合在一起的时候,简直是如虎添翼
    7.刚刚开始结对,经验方面有些不足

  • 相关阅读:
    CodeForces 659F Polycarp and Hay
    CodeForces 713C Sonya and Problem Wihtout a Legend
    CodeForces 712D Memory and Scores
    CodeForces 689E Mike and Geometry Problem
    CodeForces 675D Tree Construction
    CodeForces 671A Recycling Bottles
    CodeForces 667C Reberland Linguistics
    CodeForces 672D Robin Hood
    CodeForces 675E Trains and Statistic
    CodeForces 676D Theseus and labyrinth
  • 原文地址:https://www.cnblogs.com/freezinng/p/10622144.html
Copyright © 2011-2022 走看看