C语言|博客作业11

这个作业属于哪个课程 C语言程序设计Ⅰ
这个作业要求在哪里 https://www.cnblogs.com/tongyingjun/p/11985045.html
我在这个课程的目标是 熟练掌握函数的定义,函数的参数,局部变量和全局变量还有静态变量
这个作业在哪个具体方面帮助我实现目标 PTA作业以及自己在编译器上面写的代码和代码错误,百度上面的文献
参考文献 C语言程序设计,百度文献

1.PTA实验作业

统计某类完全平方数 本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。
⑴数据处理
数据表达:本题使用int整形结构,for循环,数组,break语句if-else语句。
数据处理:

int IsTheNumber ( const int N )
{
    int i=0,j=0,k,n;
    int H[10];\\数组存取数字
    for(k=0;k<10;k++)
    {
    H[k]=0;\\判断是否为完全平方数
    }
    for(k=0;k<=N;k++)
    {
        if(k*k==N)
        {
            i=1;\\判断出一位就保存一位
            break;\\如果就一位直接跳出循环
        }  
    }
    for(n=N,k=n%10;n!=0;k=n%10)\\超过一位就开始这个循环
    {
        H[k]++;\\位数增加1
        n=n/10;
    }
    for(k=0;k<10;k++)\\再次第三次循环
    {
        if(H[k]>1)
        {
            j=1;
            break;
        }
    }
if(i==1&&j==1)\\判断是否满足题目给的条件
{
    return 1;
}
else
{
    return 0;
}
}

⑵实验代码截图
C语言|博客作业11_第1张图片
C语言|博客作业11_第2张图片

⑶造测试数据

输入数据 输出数据 说明
105 500 cnt = 6 六个完全平方数
22 33 cnt = 0 没有完全平方数
100 100 cnt = 1 一个完全平方数

⑷PTA提交列表及说明

错误原因:
①编译错误:判断的条件打错了,第一次循环语句的内容打错了,把k=0打成k=1了;
②编译错误:第三次循环开始不知道怎么去打,下面的if判断语句不知道打,开始打错了,问了一下同学,然后改了

统计各位数字之和是5的数 本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。
⑴数据处理
数据表达:本题使用了int整形结构,while语句,for循环语句,if-else语句
数据处理:

int is (int n)
{
    int s=0,t=0;
    while(n!=0){\\开始while语句的循环,n不等于0时开始循环
        t=n%10;\\t等于n除以10 
        n/=10;\\n=n/10
        s+=t;\\s=s+t,s结果再加上t
    }
    if(s==5)\\各数字是否是5
    return 1;\\是5就输出1
    else
    return 0;\\如果不是5,输出0
}
void count sum(int a,int b)
{
    int sum=0,count=0,i;
    for(i=a;i<=b;i++){\\ a,b的范围
        if(is(i)){\\使用函数is来统计区间有多少个符合的
            count++;
            sum+=i;
        }
    }
    printf("count=%d,sum=%d\n",count,sum);\\count = 满足条件的整数个数, sum = 这些整数的和

}

⑵实验代码截图
C语言|博客作业11_第3张图片

⑶造测试数据

输入数据 输出数据 说明
104 999 104 is counted. count = 15, sum = 3720 104符合,满足条件的整数个数有15个,这些整数的和为3720
100 888 100 is counted. count = 15, sum = 3720 100符合,满足条件的整数个数有15个,这些整数的和为3720
555 666 count = 0, sum = 0 不符合,没有结果

⑷PTA提交列表及说明

错误原因:
①编译错误:最后的那个printf里面输出的双引号用成了中文的,is函数哪里也不知道怎么弄,直接弄错了
②答案错误:第567行的表达式弄错了,n=10打成s=10.

2.代码互评

⑴同学代码截图(软件三班王文志)
C语言|博客作业11_第4张图片

自己代码截图()
C语言|博客作业11_第5张图片

⑵比较结果
不同点:我们两个代码就变量定义不一样,678行代码的执行顺序不一样。
相同点:都使用了while语句,if-else语句,for循环语句。其他都差不多

同学代码截图(软件三班曾佳)
C语言|博客作业11_第6张图片

自己代码截图
C语言|博客作业11_第7张图片
C语言|博客作业11_第8张图片

比较结果
不同点:从代码行数来说我的比他的长,还有他的代码我有点看不懂,他的那个char我不知道,还有一个getchar我没有看见过,他还用了continue语句,我使用了数组,我最后一起判断是否输出1或2的
相同点:都是int整形结构,都所以了for循环语句,都使用了三个for语句

学习总结

⑴学习进度条

周/日期 这周所花时间 代码行 学到的知识点简介 目前比较迷惑的问题
第一周 三个小时 50 在电脑上面显示hello word 刚刚接触迷惑的地方比较多
第二周 四个小时 70 在电脑上面安装程序 如何安装程序还是不怎么明白
第三周 一下午加两个小时 100 C语言中常见的数据类型常量变量 那个scanf还是没有很清楚没有了解完全
第四周 四个小时 85 学到了for的循环 在百度上面初步了解了pow的用法 pow的用法还有循环结构
第五周 四个半小时 103 学到了C语言中药学有关函数的,还学会了如何制作思维导图 PTA作业中的用函数验证哥德巴赫猜想这个题目还不是很懂,还有主调函数和被调函数的类型也比较迷惑
第六周 六个小时 135 掌握多分支结构,字符型数据类型和逻辑运算符 逻辑运算符还是不是很清楚其用法,字符型数据类型也不是很懂
第七周 五个半小时 140 熟悉多分支结构switch语句的使用 还是不是很懂switch语句的用法
第八周 五个小时 151 使用while和do-while语句 什么时候应该用for语句,什么时候应该用while语句和do-while语句
第九周 六个小时 163 continue语句的使用,if-else语句的嵌套 if-else语句的嵌套
第十周 六个小时 198 复习以前的知识点
第十一周 五个半小时 220 函数的定义,函数的参数,局部变量和全局变量还有静态变量 函数还是不是特别懂,参数分不清

⑵累计代码行和博客字数
C语言|博客作业11_第9张图片

⑶学习内容总结和感悟
①这一节课学习了函数的用法,很多都是理论知识,需要理解和记忆
②这一节课的内容相对来说没有那么难,这次的容易理解。
③每一节课多多少少都会有一点点弄懂的地方,把不知道的地方自己再去慢慢查,慢慢的弄懂。

学习内容总结

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

⑷学习体会
①不知不觉大一上半期就要过了,接触C语言也有很长时间了,感觉C语言是真的难。每次都为PTA作业烦恼
②马上就要期末考试了,非常害怕笔试,运气好抽到容易的还好,要是难的那我就完了。
③幸好还有几周的时间来准备考试,希望我不会挂科吧,加油加油。
④这么快就结束了一学期的C语言课程,感觉还是什么都没有学到,自己放假回去还要去学习,不然以后的生活就完了。

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