zoukankan      html  css  js  c++  java
  • C语言I博客作业03

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2020-3
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-3/homework/11454
    这个作业的目标 掌握使用for循环语句实现指定次数的循环程序设计,学会阅读代码
    学号 20209038

    1.PTA实验作业(15分/题)

    1.1 题目1 求简单交错序列前N项和

    本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。

    1.1.1实验代码截图

    1.1.2数据处理

    数据表达:定义了整数型变量 denominator,flag,i,N 双浮点型变量 item,sum;其中N的值是输入的,flag、i、denominator、item、sum的值是赋予的
    数据处理:利用for循环实现累加处理。
    

    1.1.3 PTA提交列表及说明

    说明:

    Q1:运行超时。
    A2:for语句没有写完整,出现死循环。
    Q2:编译正确,输出结果都一样,但是总是出现答案错误。
    A2:没有看清楚题目的输入格式要求,=左右俩边各还有1个空格

    1.2 题目2 计算阶乘和

    对于给定的正整数N,需要你计算 S=1!+2!+3!+...+N!

    1.2.1 实验代码截图

    1.2.2 数据处理

    数据表达:定义了整数型N,i,a,b 其中a,i赋1,b赋2。N的值通过scanf()的输入。
    数据处理:利用for循环实现阶乘的同时进行累加处理。
    

    2.3 PTA提交列表及说明

    说明:

    Q1:一开始调用库函数#include<math.h>,代码有点复杂。
    A2:仔细思考发现只用一个for循环就可以实现。

    1.3 题目3 电子汪

    据说汪星人的智商能达到人类 4 岁儿童的水平,更有些聪明汪会做加法计算。比如你在地上放两堆小球,分别有 1 只球和 2 只球,聪明汪就会用“汪!汪!汪!”表示 1 加 2 的结果是 3。
    本题要求你为电子宠物汪做一个模拟程序,根据电子眼识别出的两堆小球的个数,计算出和,并且用汪星人的叫声给出答案。

    1.3.1 实验代码截图

    1.3.2 数据处理

    数据表达:定义整数形变量a,b,把a,b的和值赋予n
    数据处理:利用for循环实现重复输出
    

    1.3.3 PTA提交列表及说明

    说明:

    Q1:一开始很蒙看到题目,不知道写啥。
    A1:尝试写了一下,就渐渐清晰。就一遍过了。想相信自己,先试试。

    2.阅读代码(-5——5分)

    找一份优秀代码,理解代码功能,并讲出你所选代码优点及可以学习的地方。

    题目:

    人随着岁数的增长是越大越聪明还是越大越笨,这是一个值得全世界科学家思考的问题,同样的问题Eddy也一直在思考,因为他在很小的时候就知道亲和串如何判断了,但是发现,现在长大了却不知道怎么去判断亲和串了,于是他只好又再一次来请教聪明且乐于助人的你来解决这个问题。
    亲和串的定义是这样的:给定两个字符串s1和s2,如果能通过s1循环移位,使s2包含在s1中,那么我们就说s2 是s1的亲和串。

    输入描述:
    本题有多组测试数据,每组数据的第一行包含输入字符串s1,第二行包含输入字符串s2,s1与s2的长度均小于100000。
    输出描述:
    如果s2是s1的亲和串,则输出"yes",反之,输出"no"。每组测试的输出占一行。

    代码:

    #include<stdio.h>
    #include<string.h>
    int main()
    {
        char s1[200001],s2[110000];
        while(~scanf("%s %s",s1,s2))
        {
            sprintf(s1,"%s%s",s1,s1);
            if(strstr(s1,s2))puts("yes");
            else puts("no");
        }
    }
    

    优点:此代码运用了数组和while语句,代码简洁,且用时短。
    分析:同样是判断亲和串的问题,有很多种代码解答,运用c语言中这串代码是我看到最简洁而运行不超时的代码。运用while语句循环输入,再运用strstr()判断这俩串数是否亲和。最后输出结果。

    3.学习总结(15分)

    3.1 学习进度条(5分)

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    10/12——10/18 20h 371 printf(),scanf()的用法 在visul studio 2019中scanf()不能直接用
    10/19——10/23 21h 403 if语句
    10/24——10/25 13h 109 if语句
    10/26——11/1 16h 224 头文件#include<math.h>的运用 计算机是如何建立连接调用里面的代码的
    11/2——11/8 30h 300 for循环 如何快速找出for循环的编译错误

    3.2 累积代码行和博客字数(5分)

    时间 博客字数(字符) 代码行数
    第一周 772 386
    第二周 1108 578
    第三周 3245 643

    3.3 学习感悟(5分)

    感悟:这次作业比前几次量都大,时间也短了不少。学习必须走到老师前面,不连作业都写得十分吃力。学本事还得靠自己走,跟着走只能摸到点影子。
    总结:

    • 1.学会合理安排时间,不要什么事都揽身上。学会取舍。
    • 2.阅读的时候要仔细,跟着书本一步一步来,书上还是有很多有用的细节的。
  • 相关阅读:
    ios获取iphone手机设备型号
    iOS项目中所有icon的尺寸以及命名
    c++达内视频
    ffmpeg教程
    FFMPEG SDK 教程
    minicom 下载
    线程同步的几种方法的总结
    多线程笔试面试概念问答
    buntu Rhythmbox解决中文乱码
    菜鸟学习ios
  • 原文地址:https://www.cnblogs.com/xianqipiaopiaotangxiaoyi/p/13943818.html
Copyright © 2011-2022 走看看