C语言I博客作业07

这个作业属于哪个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11589
我在这个课程的目标是 更深入的学习循环结构,接触和熟悉while以及do-while循环结构,体会和思考for和while、do-while循环结构的不同
这个作业在那个具体方面帮助我实现目标 认识代码,分析代码,更深入的理解循环结构以及更熟练的使用while循环
参考文献 c语言程序设计课本与百度以及c primer plus
1.PTA实验作业

1.1 7-3 循环-古角猜想 (20分)
题目内容描述 :
日本数学家古角静夫研究自然数时,发现一个有趣现象:“如果是个偶数就除2,如果是奇数就乘以3加1”,经过有限个这样的处理步骤,最后一定能得到1. 任意输入一个自然数,给出得到结果1的运算过程。
1.1.1数据处理

数据表达 :用了整型变量n;是用户输入的自然数。
数据处理 :运用了while循环结构和switch分支结构,                                                                                                                
        while(n!=1){
        switch(n%2){
            case 0:printf("%d/2=%d\n",n,n/2);n=n/2.0;break;
            default:printf("%d*3+1=%d\n",n,n*3+1);n=n*3+1;break;

1.1.2实验代码截图

1.1.3 造测试数据

1.1.4 PTA提交列表及说明

格式错误:输出结果后面多打了一个空格,搞得我查找了半天,我裂开,下次得注意。

1.2 7-6 购物(二) (25分)
题目内容描述 :用户购买了若干个商品(商品数不超过10),现在,他告诉你每件商品的价格,你计算出这些商品的平均价格。
1.2.1数据处理

数据表达 :用了整型变量i,count,i计录商品数,count累加商品数。实型变量 price,sum,average,price储存商品价格,sum累加商品价格,average储存商品平均价格。
数据处理 :运用if分支结构和for循环结构,
for(i=0;i<=10;i++){
        scanf("%lf",&price);
        if(price>=0){
        sum+=price;
        count++;
    }else break;
    }
    if(count==0){
        count = 1;
        average = 0;
    }
    average = sum/count;
    printf("%0.2lf",average);

1.2.2实验代码截图

1.2.3 造测试数据

1.2.4 PTA提交列表及说明

部分正确:未考虑商品数为极端值0时的情况,因为求平均数时商品数为分母,分母不能为零。所以当商品数为零时要用一个伪数据处理这种情况。

2.代码互评
同学代码 :


自己代码 :

1、刘豪同学用了do-while循环结构和if分支结构,刘振辉用了while循环结构和if分支结构,我用的是while循环结构和swicth分支结构,我的程序较简便。
2、我的程序就没有着重考虑0的情况,而刘豪的程序突出了这一点。
3、总体上看起来还是我的程序简短,占用的内存也较少。

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

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟
3.3.1 学习内容总结

3.3.2 学习体会

1、这周的学习中有过挣扎也有过程序能正常运行的快乐,收获颇丰。
2、不太理解和模糊的地方就是循环结构中的scanf语句是应该放循环结构外面还是里面。
3、同时肯定还有许多是我自己还没有发现我自己那里没掌握的知识点。
4、学习了这么多周后,我觉得写程序最重要的是自己的思维,这门课程很考验思维能力。
posted @ 2020-12-07 17:24  ↘该与不该。  阅读(106)  评论(14)    收藏  举报