• C语言1博客作业11


    这个作业属于哪个课程 C语言程序设计II
    这个作业要求在哪里 作业要求
    我在这个课程的目标是 能够自身熟练使用C语言
    这个作业在那个具体方面帮助我实现目标 练习函数,掌握函数的定义并灵活运用
    参考文献 百度

    1.PTA实验作业

    1.1统计某类完全平方数

    本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。

    1.1.1数据处理

    数据表达:定义了整形变量n,a,m,,i=0,数组b[10]={0}
    数据处理:

    {
    定义整形变量n=N,a,m=根号n,,i=0,数组b[10]={0}
    如果m*m=n
    {
    while(n)(记录各位上的数出现的次数,储存在数组b中)
    {
    a=n除以10的余数;
    数组b[0] 加上相应的数;
    n=n/10;
    }
    for(i<=9;i依次递加)(读取数组中的数据)
    {
    如果(b[i]>1)
    return 1;
    }
    }
    return 0;
    }

    1.1.2实验代码截图

    1.1.3造测试数据

    输入数据 输出数据 说明
    105 500 cnt=6

    1.1.4 PTA提交列表及说明


    编译错误:错把中文符号当作了英文符号
    编译错误:==用成了=,一个是关系运算符,一个是赋值运算符

    1.2统计各位数字之和是5的数

    本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。

    1.2.1数据处理

    数据表达:第一函数定义了n,sum,第二个函数定义了sum,count,i
    数据处理:

    int is(int number)
    {
    int n, sum = 0;//定义n,sum的值
    n=number;
    while (n)//当n不等于0时停止循环
    {
    sum += n % 10;//sum=sum+n除以10的余数
    n /= 10;//n=n除以10
    }
    if (sum == 5)//如果sum=5
    {
    return 1;//返回1
    }
    return 0;//返回0
    }
    void count_sum(int a, int b)
    {
    int count=0,sum=0;//定义变量
    for (int i=a;i<=b;i++)//i=a;如果i<=b;则i依次递增
    {
    if (is(i))//如果满足上面函数,则执行循环体
    {
    count++;//count不断递增
    sum+=i;sum=sum+i
    }
    }
    printf("count = %d, sum = %d", count, sum);//输出
    }

    1.2.2实验代码截图

    1.2.3造测试数据

    输入数据 输出数据 说明
    104 999 104 is counted.count = 15, sum = 3720

    1.2.4 PTA提交列表及说明


    编译错误:同样的问题,符号弄错
    运行超时:i++弄成了i--

    2.代码互评

    同学代码:

    我的代码:

    1.同学的代码有注释,看起来感觉思路更加清晰。
    2.同学代码只用了一个for循环,而我用了for和while,相比之下同学的更加简洁。
    3.同学的代码格式比我的工整,以后需要注意格式。

    3. 学习总结和感悟

    3.1学习进度条

    日期 这周所花时间 代码行 学到的知识简介 目前比较迷惑的问题
    10.7--10.13 8小时左右 89 学习了if-else语句的用法 一些代码和函数之间的不同比较模糊
    10.14--10.20 8小时左右 120 学会了区分整型变量和浮点型变量,学会了for语句的使用方法 自己写代码还不能独立流畅的完成,每次都需要去查阅大量资料和询问同学
    10.21--10.27 7小时左右 83 函数的定义,调用 对调用函数还不是很熟练,变量经常弄错
    10.28--11.3 8小时左右 230行左右 学习程序解析和多分支if-else语句 经常将分号的使用方法弄错
    11.4--11.8 5小时左右 223 学习了switch语句
    11.9--11.15 9小时左右 166 进一步地理解循环语句的区别和用法 对语句的理解还不是很透彻,无法找到最简便的语句来编写代码
    11.20--11.22 7小时左右 135 学习了break和continue使用,循环的嵌套 对continue还并不是很理解
    11.27--11.29 8小时左右 120+ 本周没有学习什么新的知识,主要是观看助教写的代码,同时反思自己的差距 对各种英文字母所定义还不是很理解
    11/28--12/5 9+个小时 89 学习了函数,实参与形参,局部变量和全局变量 不会使用,得课后自学。

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1学习内容总结

    3.3.2学习体会

    本周学习了函数,局部变量和全局变量,变量生存周期和静态局部变量,这周的题目相对自己而言难度很大,花费了大量时间却感觉没有什么成效。
    下个星期就要考试了,心里好慌,一想到万一挂科咋办,我还想回去好好过个年的。

  • 相关阅读:
    软件设计师2006年11月下午试题6(C++ 状态模式)
    Delphi中使用RegExpr单元进行匹配与替换操作
    正则表达式中贪婪与懒惰匹配
    C++类属性算法equal和mismatch
    lazarus下使用正则表达式
    正则表达式在每行开头插入行号
    STL向量构造函数
    软件设计师2004年5月下午试题6(C++ 数组下标检测)
    演示STL双端队列的push_back和push_front函数
    用正则表达式改小写为大写
  • 原文地址:https://www.cnblogs.com/ClubThirteen/p/11993118.html
Copyright © 2020-2023  润新知