19小组--chap4循环结构chap6回顾数据类型和表达式

      本周是C语言程序设计学习第五周,我代表19组负责本次博文。

     一·首先回顾:

          在前四周的学习过程中,我们新生小白从第一个C语言程序"Hello World!"开启了我们的编程之路~

          先吐槽一下我的煎熬四周,我从第一次上C语言课时就发现有好几位新生大佬他们的pta已经达到2000+(当时的我甚至连pta都不太了解是什么),对于暑假没有直接开卷的结果就是四周及现在拼命补习。刷写一个个题目,敲打一个个代码,度过一个个难关......从基本认识程序框架,头文件,各种常量.变量和数据类型,学会分支结构和循环结构,并在上周chap6的回顾中有以下总结(大概就是我认为的重要的点(×)踩的坑(√):

          1· " = " 与 "==" 的区别 :"="是指赋值,例如int a=1是指将1赋给a,而"=="是指等于,比如if条件句中如果a==1,则会进行在a==1下的操作;

          2·整数与浮点数运算,尤其是除法运算(/)时,整数不会保留小数位;

          3·既然提到浮点数,就说说double和float的区别:首先double是双精度型,占8个字节,64位;float是单精度型,占4个字节,32位;按精度来说double是float的二倍,精度更大,但是相应的内存消耗更多,运算速度更慢,所以在精度要求不大时尽量用float;

          4·count++与++count(--类似):二者都是给count加 1,但是count++表达式是count原来的值,++count是count+以后的值;

          5·分支结构:if-else,switch-case;

     二·循环结构:

           回顾当中应有循环结构的一大部分,因chap4是循环结构学习章节,故单独分块总结。

           1·for循环:for(初始动作;条件;每轮的动作){         }     *for循环中的每一个表达式都是可以省略的

           2·while循环:while(条件){       }              *while(1)是一个死循环,可以用break跳出

           3·do-while循环:do{      }while(条件);           

           **建议:如果有固定次数,用for;如果必须执行一次,用do-while;其他情况用while

           4·break:作用:可以使流程跳到循环之外(结束整个循环过程),接着执行循环体下面的语句。

                           注意:break语句只能用于循环语句和switch语句,不能单独使用;

              continue:作用:并不是终止整个循环,只是提前结束本次循环,继续执行下次循环;

            5·嵌套循环

                例题:穷举问题--搬砖 :某工地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬1块。如果想用n人正好搬n块砖,问有多少种搬法?   

                   #include <stdio.h>                     

                    int main()   {

                     int n,m,w,c;  //定义搬砖数量以及男人女人小孩个数变量
                     scanf("%d",&n);
                     if(n<3){
                            printf("None");     //if判断是否满足有方案条件,n<3时不满足n人n个砖
                      }else{
                              for(m=0;m<=n/3;++m){                 //对男人方案枚举
                                       for(w=0;w<=n/2;++w){          //对女人方案枚举

                                                for(c=0;c<=n;++c){            //对小孩方案枚举
                                                         if(m+w+c==n&&3*m+2*w+c/2.0==n){     //判断方案是否满足n人n砖
                                                               printf("men = %d, women = %d, child = %d\n",m,w,c);   //输出方案
                                                                                         }
                                                                                 }
                                                                       }
                                                             }
                                                   }
                              return 0;
                     }

posted @ 2022-10-23 00:10  LanFu  阅读(25)  评论(0)    收藏  举报