当前位置: 首页 > news >正文

第五周作业

第四周预习作业
1581766-20190328212903369-162599703.png
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。

输入格式:
输入给出一行字符。

输出格式:
在一行中输出单词个数。

输入样例:
Let's go to room 209.
输出样例:
5

#include<stdio.h>
int main(void)
{
    int i, num,word;
    char str[1000];
    gets(str);
    num = strlen(str);   
    if(str[0] == ' '){
        word= 0;
    }
    else
        word = 1; 
    for(i=0; i<num-1; i++)
    {
        if(str[i] == ' '&&str[i+1] != ' ') 
        {
          word++;    
        }
    }
    printf("%d\n", word);
    return 0;
}

(2)设计思路
1581766-20190328213112676-610043658.png
(3)问题及解决办法
问题:不知道如何进行字符串的比较
解决办法:关于一开始不知道的定义去查找资料。询问同学。

(4)运行结果
1581766-20190328213503057-1440416403.png
基础作业
1581766-20190328214108374-1371249032.png
本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。如果长度相同,按照输入的顺序不变。

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

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

输入样例:
blue
red
yellow
green
purple

输出样例:
red blue green yellow purple

#include<stdio.h>
#include<string.h>
int main()
{
    int j = 0;
    char str[20][10] ;
    char temp[10] ;
    int i = 0;
    while(i<20){
        scanf("%s", str[i]);
        if (str[i][0] == '#')
            break;
          i++;
    }
    int n = i;
    for (i = 0; i < n; i++)
    {
        for (j = 1; j < n - i; j++)
        {
            if (strlen(str[j - 1]) > strlen(str[j]))
            {
                strcpy(temp, str[j - 1]);
                strcpy(str[j - 1], str[j]);
                strcpy(str[j], temp);
            }
        }
    }
    for (i = 0; i < n; i++)
        printf("%s ", str[i]);
    return 0;
}

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

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(void)
{
    FILE *fp;
    int j = 0;
    char str[20][10] ;
    char temp[10] ;
    int i = 0;
      if((fp=fopen("c:\\mt星\\ldh.txt","w+"))==NULL){
        printf("File open error!\n");
        exit(0);
    }
    while(i<20) {
        scanf("%s", str[i]);
        fprintf(fp,"%s\n",str[i]);
        if (str[i][0] == '-')
            break;
        i++;
    }
    int n = i;
    for (i = 0; i < n; i++)
    {
        for (j = 1; j < n - i; j++)
        {
            if (strlen(str[j - 1]) > strlen(str[j]))
            {
                strcpy(temp, str[j - 1]);
                strcpy(str[j - 1], str[j]);
                strcpy(str[j], temp);
            }
        }
    }
     for (i = 0; i < n; i++)
        fprintf(fp,"%s ", str[i]);
    for (i = 0; i < n; i++)
        printf("%s ", str[i]);
          if(fclose(fp)){
            printf("Can not close the file!\n");
            exit(0);
     }
    return 0;

}

(2)设计思路
1581766-20190328214402722-67519202.png
(3)错误及解决办法
错误1:逻辑思维混乱,编写步骤错误。
解决办法:因为对字符串的不熟而导致,查找书本上字符串的运用方法。

1581766-20190328214504508-2030763374.png
1581766-20190328214548858-206556679.png
错误2:for 循环运行错误,数据输出出现问题。
解决办法:删除for循环改用while,查找书本中while的运用。

1581766-20190329124351812-1018845197.png
错误:ASCII字符改成学号+37后没有改代码。
解决办法:发现运行输入无法终止,查看输入终止程序。

(4)运行结果
1581766-20190328214920799-722187166.png
1581766-20190329130212917-1416098744.png
1581766-20190329130227651-737789134.png

预习作业
内容:指针变量的定义,基本运算。
1581766-20190328220232962-578500878.png
1581766-20190328220248262-117914025.png
1581766-20190328220305225-1551551519.png
预习中的问题:感觉学的指针的这一类型会比较容易弄混一点,对运算结果不太会看。
学习进度条
1581766-20190328220207436-291052940.png

1581766-20190328214953834-38320340.png
1581766-20190329221756223-214711062.png

心得:
(1)结对编程总结:一开始我的代码表达是不规范的,后来是结对编程的搭档告诉我的。
(2)学习总结:
缺点:我发现我对while语句运用的不是很好,以前学过的知识不经常去用是很容易被忘记的。我的编程中最后一个问题解决的比较快,我认为是从出现的问题的那一部分检查代码的原因,要学会怎样从运行结果中找出代码问题部分。
优点:我觉得我会比较愿意主动去接触一些关于写博客的技巧

转载于:https://www.cnblogs.com/1211li/p/10617960.html

相关文章:

  • http转https后资源加载不显示
  • 微信内嵌浏览器打开手机浏览器下载APP(APK)的方法
  • WordPress 主题开发商将客户当肉鸡,向对手发起 DDoS 攻击
  • 重装系统踩坑之路
  • [20190401]关于semtimedop函数调用.txt
  • gitlab改成中文版(汉化)
  • docker部署[centos/微服务], 安装mysql/mongodb/redis/elasticsearch
  • 手把手教你安装Linux性能监控工具——pydash
  • 宝马将机器架上微软 Azure,国内科技巨头也难抵汽车“诱惑”
  • 微服务落地,我们在考虑什么?\n
  • Vue-cli 3.0基础项目工程模板
  • 北大AI公开课2019 | 微软亚洲研究院周明:NLP的进步将如何改变搜索体验?
  • 多态使用时,父类多态时需要使用子类特有对象。需要判断 就使用instanceof
  • 软件工程(2019)第一次作业
  • Windows下搭建Wampserver+Wordpress
  • ----------
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • 0基础学习移动端适配
  • Android框架之Volley
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • Linux中的硬链接与软链接
  • node 版本过低
  • PHP 小技巧
  • SOFAMosn配置模型
  • spring security oauth2 password授权模式
  • VUE es6技巧写法(持续更新中~~~)
  • Vue2.0 实现互斥
  • XML已死 ?
  • 编写高质量JavaScript代码之并发
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 区块链技术特点之去中心化特性
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 网页视频流m3u8/ts视频下载
  • 正则表达式
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • 阿里云重庆大学大数据训练营落地分享
  • ​ubuntu下安装kvm虚拟机
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • #14vue3生成表单并跳转到外部地址的方式
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (Java数据结构)ArrayList
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (剑指Offer)面试题34:丑数
  • (译) 函数式 JS #1:简介
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (转)母版页和相对路径
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • ****Linux下Mysql的安装和配置
  • .net web项目 调用webService
  • .net 反编译_.net反编译的相关问题
  • .NET单元测试