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.刚刚开始结对,经验方面有些不足

  • 相关阅读:
    无root权限安装tmux
    mosquitto_pub和mosquitto_sub 命令参数说明
    安装Mosquitto学习MOTT协议
    Linux之prink原理
    JZ2440支持设备树(1)-添加设备树之后kernel的启动参数跟dts里面不一致
    Linux可以生产uImage
    Ubuntu18.04下make menuconfig缺少ncurses库
    如何打开kernel最开始的打印
    buildroot管理uboot+kernel+rootfs
    STM32L071CBTX操作ECC508
  • 原文地址:https://www.cnblogs.com/freezinng/p/10622144.html
Copyright © 2011-2022 走看看