雪*C语言核心知识总结三

一、循环:在满足特定条件的情况下,反复执行某程序段。

     生活中常见的例子:

     1.跑步 (条件:是否还能跑    循环语句:一直跑);

     2.吃包子 (条件: 是否吃饱  循环语句:一直吃);

     3.手表分针 (条件: 是否还能转动  循环语句: 手表分针一小时走一圈);用while循环表示

      while (是否还能再跑) {

               一直跑;

             }

    ........

  练习1.用while循环计算出从1+2+3+....+100的和。

               sum += a;

               a++;

 练习2.用while循环打印出1-100之间7的倍数

         就是b % 7 == 0;

练习3.用while循环打印出1-100之间个位数为7的数;

        就是 c % 10 == 7;

练习4.用while循环打印出1-100之间十位数为7的数;

        就是d / 10 == 7;

练习5.用while循环打印出1-100之间不是7的倍数并且不包含7的数

         就是e % 10 !=7 && e %7 != 0 && e / 10 !=7;

二、随机数

      公式 : arc4random () % (b - a + 1) +a;    在[a,b]这个范围内输出随机数

  练习1.用户从控制台 输入一个n,用while打印n个随机数(范围为10~30)。

         int a,b,c;

        printf("请输入一个数字:\n");

        scanf("%d",&a);

        while(b < a) {

              c = arc4random % (30 - 10 + 1) + 10;

         printf("c = %d",c);

              b++;

        }    

三、关键字

   continue 是结束本次循环,进入下一次循环;

   break 是结束本层循环,跳出循环;

   切记:在break,contiue,return后不能写代码,因为他们都含有跳出的意思,所以他们下边的代码永远不会被执行;

四、在do while 循环中,是先执行后判断,比while循环多循环一次,while能写的do while 也能写。

五、for 循环

    格式为:for(1.循环变量初始化;2.循环条件;3.循环增量) {

                       4.语句;

           }

  执行顺序是:1->2->4->3->2->4->3->2->4-3

  结束标志是:当变量不满足循环条件时;

练习 1.打印九九乘法表:

       核心思想:两个for循环相互嵌套,两个整型变量都在[0~9],再进行输出两数之积;

        2. 已知abc+cba = 1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合。

        核心思想:应该是在三个for循环中先定义三个变量然后进行循环,判断条件为:a * 100 + b *10 + c * 1+c *100 + b *10 +a*1 = 1333;

然后在if语句中进行输出a,b,c的值;

       3.整元换零钱问题,把1元兑换成1分,2分,5分的硬币,共有多少种不同换法,请编写求解此问题的程序。通过枚举值来表示1分,2分,5分。

        核心思想:先通过枚举给变量(one=1,two=2,five = 5)进行赋值,然后再定义三个变量(a,b,c)分别表示1分,2分,5分的个数进行循环,然后就是在if语句中进行判断(a * one +b *two +c *five = 100)是否成立,若成立就将此组数字输出(a, b, c),开始需要定义一个sum = 0,来计算共有多少种情况,每次输出一个sum +=1;最后打印出总数。

        4.编写一个程序打印一个表,表的每一行都给出一个整数、它的平方以及它的立方。要求用户输入上限与下限。使用一个for循环。

        核心思想:这里全部都是未知量,所以需要我们自己去一一定义变量。首先是让用户从控制台输入上下限[a1,a2],然后用for循环判断随机数,用a3表示循环次数,但是判断条件是a3<a2-a1+1;其次,就是x先定义一个随机数a4 = arc4random % (a2 - a1 +1) + a1,再定义两个变量分别用来计算随机数的平方和立方,最后输出随机数和平方、立方。

       5.使用嵌套循环产生下列图案:

    F
    FE
    FED
    FEDC
    FEDCB
    FEDCBA
    字母F由终端输入。

      核心思想:先定义一个字符类型的变量,ch = 'F';然后再进行两个for循环,在最里面的那个循环体内,要进行输出ch,然后再让ch = ch -1,在内循环中随着外循环的次数连续输出F前的上一个字节,因为每行都要输出F,所有在内循环外进行再次给ch赋值等于F,Z再输出“\n”。

      char c = 'F';

      for(int i = c; i >= 'A';i--){

            for (int j=c;j>=i;j--){

              printf("%c",j);

            }

             printf("\n");

          }

       6.编程将所有“水仙花数”打印出来,并打印其总个数。 “水仙花数”是一个各个位立方之和等于该整数的三位数。

        核心思想:就是一个for循环里里面判断该数在100~999之间,然后分别计算出水仙花数m的个位a = m % 10;十位b = ( m%100) /10;百位c = m / 100;

然后再进行判断(m == a * a * a + b * b* b +c * c* c)是否成立,若成立,就输出m.

      7.随机产生20个[10 , 100]的正整数,输出这些数以及他们中的最大数

          核心思想:随机产生20(a)个,就是让循环次数m<a,然后用while进行判断,随机数b = arc4random % (100 -20 +1) +20,再进行输出随机数b;然后再进行判断最大值max,如果b>max,就把b赋值给max,然后m++循环下一次;最后输出最大值max.



     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值