• C语言I博客作业11


    问题 答案
    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 作业链接
    我在这个课程的目标是 学会并掌握C语言基本知识,能够相关C语言的各种代码
    这个作业在那个具体方面帮助我实现目标 学习函数相关知识
    参考文献 C语言程序设计(第3版)、百度、360浏览器

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

    1.1 6-1 统计某类完全平方数 (20分)

    题目内容描述:
    

    1.1.1数据处理

    数据表达:本题用了n,t,i,temp,flag这些变量,其中n值来自于N的值,t是通过n开平方得值,i是一个循环变量,定义初始值为0,temp的值来源于n除以10的余数,flag定义初始值为0,通过条件判断赋值为1,都是整型变量;
    数据处理:
     伪代码:
           int IsTheNumber ( const int N )(函数名) 
           {
           int n,t,i,temp,a[10]={0},flag=0
           n←N;
           t=(int)sqrt(n)t等于n的平方根 (整型) 
           if t的平方等于n 
           {
           while(n不等于0)(直到n等于0跳出) 
           {
           temp←n%10(n除以10的余数)
           a[temp]++(累加)
           n←n/10(n除以10)
           }
           for(i←0;i小于10;i++)
           {
           if(a[i]小于或等于2)
           {
           flag←1
           返回值 1
           }
           }
           if(flag等于0) 
           返回值 0
           }
           else 
           返回值 0
           }
    

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    105 500 cnt = 6 使用题目所给数据
    10 100 cnt = 1 使用较小数据
    200 600 cnt = 4 随机范围
    10 1000000 cnt = 780 较大范围

    1.1.4 PTA提交列表及说明

    提交列表说明:
        1.编译错误:在if(t*t==n)中少写一个“=”;
        solve:在原有的“=”后面再加上一个“=”;
        2.编译错误:在循环条件for(i=0;i<10;i++)中写成i<=10;
        solve:将i<=0中的“=”去掉;
        3.答案正确:通过修正答案正确;
    

    1.2 6-2 统计各位数字之和是5的数 (20分)

    题目内容描述:
    

    1.2.1 数据处理

    数据表达:本题用了number、x、y、count、sum、i、a、b这些变量,其中y、count、sum定义初始值为0,x通过number除以10的余数来来给值,number通过之前自身的值来除以10的值来给值,y通过x加y的和来赋值,a、b通过scanf函数来赋值,然后在for循环中将a值赋给i,在通过循环内部相关语句count进行累加,sum循环加之前自身的值和i值之和,都是整型变量。
    数据处理:
     伪代码:
           int is(int number)(函数名) 
           {
       int x,y←0
       do{
           x等于number除以10的余数
           number等于number除以10
           y←x+y 
           }while(number不等于0)(直到number等于0) 
           if(y等于5)
           返回值 1
           else
           返回值 0
           }
           void count_sum(int a, int b)(函数名) 
           {
           int count←0,sum←0
           int i
           for(i←a;i<=b;i++)
           {
       if(is(i))
       {
           count++
       sum等于sum加i
       }
       }
       输出count和sum的值 
           }
    

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    104 999 使用题目所给数据
    10 100 使用较小数据
    100 1000000 使用较大数据
    1004 1000000 使用a的各个数字之和为5的数据
    1000 1000004 使用b值各个数字之和为5的数据
    203 2003 使用a、b各个数字之和均为5的数据

    1.2.4 PTA提交列表及说明

    提交列表说明:
        1.编译错误:while语句后面没有加“;”;
        solve:在while(number!=0)后面加上“;”;
        2.编译错误: count_sum中间没有加“_”;
        solve:zai count和sum中间加上“_”;
        3.答案正确:通过修正答案正确;
    

    2.代码互评(5分)

    同学代码截图

    自己代码截图

    不同之处:
        1.第一位同学的代码的返回值和我表达不同;
        2.第二位同学的代码比我简洁。
    

    3.学习总结(15分)

    3.1 学习进度条(5分)

    这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第一周(9/17-9/22) 5小时 43行 学会写最简单的代码
    第二周(9/24-10/4) 6小时 62行 学会温度转换
    第三周(10/6-10/13) 11小时 86行 学会写函数程序 不知道怎么在什么情况下调用scanf()函数
    第四周(10/14-10/20) 10小时 105行 for循环语句和循环结构 不知道定义多少个变量
    第五周(10/21-10/27) 10.5小时 114行 学会怎样去定义一个函数和它的基本格式 对于函数题的编程不知道该怎么样去设计
    第六周(10/28-11/3) 12小时 135行 学会二分支结构和if-else语句 对于输入一个正整数,然后输入对应数量的数值的代码编写存在迷惑
    第七周(11/4-11/10) 13.5小时 173行 学会怎样用switch简化代码的复杂性 使用switch语句时怎么能够很好的与其他语句很好的衔接
    第八周(11/11-11/17) 10小时 157行 学会使用do-while语句和while语句 while后面的循环结束执行条件该如何判定
    第九周(11/18-11/24) 9小时 125行 学会怎样去写一个关于嵌套循环的代码 怎么样区分一行输出几个和输出几行
    第十周(11/25-12/1) 11小时 167行 进一步温习嵌套循环的使用 对于怎么理清内循环和外循环的循环语句和条件
    第十一周(12/2-12/8) 12小时 152行 学习函数类型、作用存、储类型相关知识 不能很好的理清他们之间的关系

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

    3.3 学习内容总结和感悟(5分)

    3.3.1 学习内容总结

    本周主要学习了关于函数的相关知识,了解到函数的类型、作用域、存储类型,函数类型分为库函数和自定义函数,变量的作用域分为局部变量和全局变量,存储类型分为静态和动态。还提到自动变量只能在函数内或复合语句中定义.
    

    3.3.2 学习体会

    对于我个人感觉,这次的PTA作业的函数题和编程题挺难的,有个别题目连思路都没有,还有的题目有些的计算方法都还没没有弄明白,甚至都不会去怎么很好并且正确的表达题目所包含的意思。本周学习关于函数的知识有些我还是感觉还没有弄懂,因为这些知识有的具有互通性,还有牵扯到的内容也很多,但这并不是我学不好的理由,有困难就要善于去解决,不会做就多查查资料,但是我觉得我自己现在有点过分依赖百度,虽然有些不一定找的到,但是我还是会不停的去查找。感觉本周的事情很多,还有令自己非常郁闷的事,关系到我的期末考试,现在我只有尽量不去想那个事情,因为怀着不愉快的心情做事效率非常低下。加油吧,但愿每天都能有一颗愉悦的心情!
  • 相关阅读:
    冒泡排序
    数据结构和算法关系
    js获取ifram对象
    java STL
    bufferedReader 乱码问题
    css animation让图标不断旋转
    apply通过实例理解
    jquery.ajaxfileupload.js
    JDBC getMetaData将结果集组装到List
    Android开发之使用BaseAdapter的notifyDataSetChanged()无法更新列表
  • 原文地址:https://www.cnblogs.com/classtest123/p/11980008.html
Copyright © 2020-2023  润新知