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

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2020-4
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-4/homework/11455
    这个作业的目标 <掌握使用for循环语句实现指定次数的循环程序设计,熟练运用循环语句>
    学号 <20209072>
    1.PTA实验作业(15分/题)
    从PTA题目集中选出3个你最满意的题目完成以下内容,选择题目难度越大,分值越高,每题2分,内容要求如下:

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

    1.1.1实验代码截图

    1.1.2数据处理
    数据表达:通过整形变量N和i,输出N的值来确定循环的次数。

    数据处理:运用for循环语句进行前n项和的计算。

    1.1.3PTA提交列表及说明

    .Q1:第一次不是很清楚denominator是什么
    .A1:在同学的帮助下去了解才完成整个代码
    .Q2:sum = %.3f这里忘记打空格
    .A2:经过很长的检查才发现这个错误

    1.2题目内容
    本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。

    1.2.1实验代码截图

    1.2.2 数据处理
    数据表达:调用头文件<math.h>使用整形变量n和i,使用sum变量,通过输出N的值来确定循环的次数

    数据处理:利用for循环语句进行前n项和的运算

    1.2.3PTA作业提交列表

    .Q1:最初是发生格了式错误
    .A1:进行了一番检查后发现最前面的“{”没打
    .Q2:再次进行调试时发生了答案错误
    .A2:通过仔细阅读提问要求后改正了错误

    1.3题目内容
    本题要求编写程序,计算平方根序列√​1+√​2+√3+⋯的前N项之和。可包含头文件math.h,并调用sqrt函数求平方根。

    1.3.1 实验代码截图

    1.3.2 数据处理
    数据表达:调用头文件<math.h>使用整形变量n和i,使用双精度sum变量,使用sqrt函数,通过输出N的值来确定循环的次数

    数据处理:利用for循环语句进行前n项和的运算

    1.3.3 PTA提交列表及说明

    .Q1:最初是发生编译错误
    .A1:结果“&”打错了,打成了“%”
    .Q2:再次进行调试
    .A2:仔细阅读代码后发现错误并改正

    2.阅读代码(-5——5分)
    找一份优秀代码,理解代码功能,并讲出你所选代码有点及可以学习的地方。

    include <stdio.h>

    include

    using namespace std;

    define max(a,b) (((a) > (b)) ? (a) : (b))

    define min(a,b) (((a) < (b)) ? (a) : (b))

    class Solution {
    public:
    double findMedianSortedArrays(vector& nums1, vector& nums2) {
    int n = nums1.size();
    int m = nums2.size();

    	if (n > m)  //保证数组1一定最短
    	{
    		return findMedianSortedArrays(nums2, nums1);
    	}
    
    	// Ci 为第i个数组的割,比如C1为2时表示第1个数组只有2个元素。LMaxi为第i个数组割后的左元素。RMini为第i个数组割后的右元素。
    	int LMax1, LMax2, RMin1, RMin2, c1, c2, lo = 0, hi = 2 * n;  //我们目前是虚拟加了'#'所以数组1是2*n长度
    
    	while (lo <= hi)   //二分
    	{
    		c1 = (lo + hi) / 2;  //c1是二分的结果
    		c2 = m + n - c1;
    
    		LMax1 = (c1 == 0) ? INT_MIN : nums1[(c1 - 1) / 2];
    		RMin1 = (c1 == 2 * n) ? INT_MAX : nums1[c1 / 2];
    		LMax2 = (c2 == 0) ? INT_MIN : nums2[(c2 - 1) / 2];
    		RMin2 = (c2 == 2 * m) ? INT_MAX : nums2[c2 / 2];
    
    		if (LMax1 > RMin2)
    			hi = c1 - 1;
    		else if (LMax2 > RMin1)
    			lo = c1 + 1;
    		else
    			break;
    	}
    	return (max(LMax1, LMax2) + min(RMin1, RMin2)) / 2.0;
    }
    

    };

    int main(int argc, char *argv[])
    {
    vector nums1 = { 2,3, 5 };
    vector nums2 = { 1,4,7, 9 };

    Solution solution;
    double ret = solution.findMedianSortedArrays(nums1, nums2);
    return 0;
    

    }

    作者:bian-bian-xiong
    链接:https://leetcode-cn.com/problems/median-of-two-sorted-arrays/solution/4-xun-zhao-liang-ge-you-xu-shu-zu-de-zhong-wei-shu/
    来源:力扣(LeetCode)
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    优点:思路清晰,奇数和偶数的虚拟数组的处理灵活,能让新手较为快速的弄懂
    值得学习的地方:可以去学习这里面的一些新的代码

    3.学习总结
    3.1学习进度条

    周/日期 这周所花的时间 代码行 学的知识点简介 目前比较迷惑的内容
    10/12——10/18 342 212 printf(),scanf()的用法,if-else的用法 对一些函数的调用并不是很理解
    10/24——11/1 543 342 for循环 for循环的原理
    11/2——11/7 762 422 pow(),sqrt()函数

    3.2 累积代码行和博客字数

    时间 博客字数 代码行数
    第一周 432 212
    第二周 532 342
    第三周 643 422

  • 相关阅读:
    ASP.NET 表单验证 Part.1(理解表单验证)
    Silverlight 简介 Part.3(设计 Siverlight 页面)
    ASP.NET 成员资格 Part.3(LoginStatus、LoginView、PasswordRecovery)
    ASP.NET 网站部署 Part.1(安装IIS、复制文件部署网站)
    ASP.NET Dynamic Data Part.1(创建动态数据应用程序)
    ASP.NET 安全模型 Part.2(SSL)
    ASP.NET MVC Part.2(扩展基本的 MVC 应用程序)
    ASP.NET 网站部署 Part.2(使用 Web 部署)
    开发高级 Web 部件
    创建 Web 部件(WebPart 类、简单的 Web 部件)
  • 原文地址:https://www.cnblogs.com/421x/p/13943254.html
Copyright © 2011-2022 走看看