C语言I博客作业11

问题 答案
这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 作业链接
我在这个课程的目标是 巩固之前所学知识并将知识进一步系统化进一步复习
这个作业在那个具体方面帮助我实现目标 PTA作业和作业要求对问题的解决的详细记录
参考文献 百度文库,教材,知否等

1.PTA实验作业

1.1 统计某类完全平方数

题目内容描述:

C语言I博客作业11_第1张图片

1.1.1数据处理

数据表达:本题我用到的变量有n,N,tem,i。其中N为函数int IsTheNumber ( const int N )的型参,n为实参。term为各个位数上的数,i为循环变量。它们都为整形变量。
数据处理:(伪代码)
    int IsTheNumber ( const int N )
    int n=N, tem, i;//定义变量
    if( sqrt(n)==(int)sqrt(n) )//n是平方数的时候再执行,排除n不为平方数的可能
    int num[10]={0};//定义num的长度为10,因为传入的整数的每位数可能是0~~9,而不是传入数的位数
    while( n>0 ) 
    tem=n%10;
    for( i=0; i<=9; i++ )
    if( tem==i )
    num[i]++;//遍历N的每一位上的数字
    if( num[i]==2 )
    return 1;// 如果有一个数组元素等于2,说明至少有2个位上的数相同才返回1
    n=n/10;
    return 0;
    else//不为平方数直接返回0
    return 0;

1.1.2实验代码截图

C语言I博客作业11_第2张图片

1.1.3 造测试数据

输入数据 输出数据 说明
105 500 cnt = 6 题中数据
273 400 cnt = 1 随机数据
390 600 cnt = 3 随机数据

1.1.4 PTA提交列表及说明

C语言I博客作业11_第3张图片
提交列表说明:
1.编译错误:写完代码时忘记输入的数位是有限的并且不知道如何表达
2.答案正确:查阅资料后得知位数要用[]来表示,改正即可

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

题目内容描述:

C语言I博客作业11_第4张图片

1.2.1 数据处理

数据表达:本题我用到的变量有sum,item,number,a,b,t,i.
数据处理:(伪代码)
    int is( int number )
    int sum,item;
    sum=0;
    while(number!=0)//排除number等于0的情况
    item=number%10;
    number=number/10;
    sum=sum+item;
    if(sum==5)
    return 1;
    else
    return 0;//函数is判断number的各位数字之和是否等于5,是则返回1,否则返回0
    void count_sum( int a, int b )
    int i,sum=0,count=0,t;
    if(a>b)
    t=a;
    a=b;
    b=t;
    else
    for(i=a;i<=b;i++)
    if(is(i))
    count++;//循环累加所有值
    sum=sum+i;
    printf("count = %d, sum = %d",count,sum);

1.2.2 实验代码截图

C语言I博客作业11_第5张图片
C语言I博客作业11_第6张图片

1.2.3 造测试数据

输入数据 输出数据 说明
104 999 cnt = 6 题中数据
263 837 cnt = 4 随机数据
372 756 cnt = 4 随机数据

1.2.4 PTA提交列表及说明

C语言I博客作业11_第7张图片
提交列表说明:
1.编译错误:又将if语句括号中赋值理所当然地写成了=
2.答案正确:将=改为==即可

2.代码互评

找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。

同学代码截图

同学一

C语言I博客作业11_第8张图片

同学二

C语言I博客作业11_第9张图片

自己代码截图

C语言I博客作业11_第10张图片

不同点:

   同学二把等于0和不等于0分为两类,而我把大于0与小于0分开。
   同学一整体与我差不多,但是我感觉我用来表达是否为平方数的方式不同。

3.学习总结

3.1 学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第一周 2小时 30 最简单代码
第二周 2小时 30 温度转换
第三周 5小时 90 if-else语句 格式和符号的使用
第四周 7小时 100 for循环语句
第五周 8小时 102 自主编写函数 编写函数的一些格式框架仍然有点模糊
第六周 8小时 130 分支结构
第七周 7小时 98 switch语句 拿到题目时仍然不会间接表达变量
第八周 8小时 121 while语句 PTA题中的条件不理解
第九周 8小时 129 continue结构 对变量的循环把握不到位
第十周 8小时 123 总结 复杂的镶套循环仍然把握不到位
第十一周 9小时 125 函数中变量的作用域、生存周期和存储类型、函数的定义、调用和申明 对静态局部变量与自动变量之间的区别分不清

3.2 累积代码行和博客字数

C语言I博客作业11_第11张图片

3.3.1 学习内容总结

C语言I博客作业11_第12张图片

3.3.2 学习体会

上完这周的课后,我发现自己对于函数这一部分还不是怎么了解。我自己的一大困点就是不会写表达式,不会将变量按题目要求间接表达出来。代码看得懂但是真的给我来写了就会有难     
度。所以还是要多练,熟能生巧。还有就是要注意题中的条件,还有就是分的真的很细。有些时候一不小心就会出错误,更加考验我们的注意力和耐心。总之希望我期末不要挂科。

你可能感兴趣的:(C语言I博客作业11)