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.阅读的时候要仔细,跟着书本一步一步来,书上还是有很多有用的细节的。
posted @ 2020-11-08 11:49  甜甜的代码我来打!  阅读(792)  评论(0编辑  收藏  举报