C语言第五章:循环结构程序设计总结。(超详细)

简介: C语言第五章:循环结构程序设计总结。(超详细)

 目录

 

5.1引例

5.2使用for语句实现循环结构

5.2.1for语句的基本循环

2.for语句的一般形式中省略表达式.

5.2.2for循环使用示例

5.3使用while语句实现循环结构

5.4使用do-while语句实现循环结构

5.4.1do-while语句的基本语法。

5.5改变循环结构的跳转语句

5.5.1 break语句

5.5.2 continue语句

5.5.3goto语句

5.6循环嵌套

5.7典型算法举例

5.7.1 递推法

5.7.2迭代法

5.7.3穷举法

5.8循环程序设计示例

文字总结



5.1引例

    1. 需要重复执行的语句称为循环语句,在重复执行的过程中使用了同一个计算公式,但年份每次递减1应是计算出人口会不同
    int main()
    {
     int n = 13, year;
     double nu, r = 0.02;
     for (year = 1; year <= 10; year++)
     {
      nu = n * pow((1 + r), year);
      printf("%2d年后,人数为:%.2f亿\n", year, nu);
     }return 0;
    }

    image.gif

    image.gif编辑

      1. while语句是3种循环结构之一,while后括号中的表达式称为循环条件,循环开始时,一定要保证循环条件为真。
      2. 需要重复执行的语句组成了循环体,本例中循环体部分是重复计算item,然后将其值与要求的精度进行比较,决定是否结束循环
      int main()
      {
       double sum, item, flag, denominator;
       sum = 0; item = 1; flag = 1; denominator = 1;
       while (fabs(item) >= 1e-6)
       {
        sum = sum + item;
        flag = -flag;
        denominator = denominator + 3;
        item = flag / denominator;
       }printf("sum=%f\n", sum);
       return 0;
      }

      image.gif

      image.gif编辑

      5.2使用for语句实现循环结构

      5.2.1for语句的基本循环

      for语句的一般形式为:

      for(表达式1;表达式2;表达式3;)

                循环体结构;

      for语句的执行过程如下:

        1. 首先计算表达式一
        2. 判断表达式二若琪只为真则执行循环体语句,然后执行第3步,值为假结束循环,转到第5步执行
        3. 计算表达式3
        4. 返回第2步继续执行循环
        5. 结束继续执行for语句的下一条语句

        for(循环变量赋初值;循环条件;循环变量增量;)

        说明:循环变量赋初值是一个赋值语句,用于给循环变量赋初值,循环条件是一个关系表达式,决定如何种植循环(即确定循环的终止),循环变量增值决定循环变量在完成一次循环后如何变化,向部分之间以‘;’隔开

        int main()
        {
         int i, n, sum;
         scanf_s("%d", &n);
         sum = 0;
         for (i = 1; i <= n; i++)
          sum = sum + i;
         printf("由1到%d的和是:%d\n", n, sum);
         return 0;
        }

        image.gif

        image.gif编辑

        本题目是个连乘的重复过程。

        int main()
        {
         int i, n;
         double f;
         printf("输入n的值:");
         scanf_s("%d", &n);
         f = 1;
         for (i = 1; i <= n; i++)
          f = f * i;
         printf("%d=%.0f\n", n, f);
         return 0;
        }

        image.gif

        image.gif编辑

        2.for语句的一般形式中省略表达式.

        1.for(;表达式2;表达式3;)

        循环体语句;

        注意:此时不能省略第一个;。

        2.for(表达式1;;表达式3;)

        省略表达式2时,表示不对循环进行控制,这是不处理的话,会形成死循环;

        3.for(表达式1;表达式2;;)

        可以在循环语句中加入修改循环变量的值的语句。。

        5.2.2for循环使用示例

        image.gif编辑

        int main()
        {
         int n, i, denominator, flag;
         float sum, item;
         printf("输入n的值:");
         scanf_s("%d", &n);
         flag = 1;
         denominator = 1;
         sum = 0;
         for(i=1;i<=n;i++)
         {
          item = flag * 1.0 / denominator;
          sum = sum + item;
          flag = -flag;
          denominator = denominator + 3;
         }printf("Sum=%.2f\n", sum);
         return 0;
        }

        image.gif

        image.gif编辑

        //int main()
        //{
        // int i;
        // float x, max;
        // printf("请输入第1个数:");
        // scanf_s("%f", &x);
        // max = x;
        // for(i=1;i<=9;i++)
        // {
        //  printf("请输入第%d个数:", i + 1);
        //  scanf_s("%f", &x);
        //  if (x > max)
        //   max = x;
        // }printf("10个数的最大数是:%0.f",max);
        // return 0;
        // 
        //}

        image.gif

        image.gif编辑

        //int main()
        //{
        // int n, a, b, c;
        // for (n = 100; n <= 999; n++)
        // {
        //  a = n / 100;
        //  b = n % 100 / 10;
        //  c = n % 10;
        //  if (n == a * a * a + b * b * b + c * c * c)
        //   printf("%5d", n);
        // }return 0;
        //}

        image.gif

        image.gif编辑

        //int main()
        //{
        // int n, sum, i;
        // printf("请输入一个正整数:");
        // scanf_s("%d", &n);
        // sum = 0;
        // for (i = 1; i <= n - 1; i++)
        //  if (n % i == 0)
        //   sum = sum + i;
        // if (n == sum)
        //  printf("%d是完数\n", n);
        // else
        //  printf("%d不是完数\n", n);
        // return 0;
        //}

        image.gif

        image.gif编辑

        //int main()
        //{
        //  int u, l, d, i, o;
        //  char ch;
        //  u = l = d = o = 0;
        //  printf("输入10个字符:");
        //  for (i = 1; i <= 10; i++)
        //  {
        //    ch = getchar();
        //    if (ch >= 'a' && ch <= 'z')
        //      l++;
        //    else if (ch >= 'A' && ch <= 'Z')
        //      u++;
        //    else if (ch >= '0' && ch <= '9')
        //      d++;
        //    else
        //      o++;
        //  }printf("小写字母%d个,大写字母%d个,数字%d个,其他字符%d个\n", l, u, d, o);
        //  return 0;
        //}

        image.gif

        image.gif编辑

        //int main()
        //{
        //  int i;
        //  char ch;
        //  for (i = 1; (ch = getchar()) != '\n'; i++)
        //    putchar(ch - 32);
        //  return 0;
        //}

        image.gif

        image.gif编辑

        //int main()
        //{
        //  int n = 0, i;
        //  char ch;
        //  printf("输入3个数字:");
        //  for(i=1;i<=3;i++)
        //  {
        //    scanf_s("%c", &ch);
        //    n = n * 10 + ch - '0';
        //  }printf("%d\n", n);
        //  return 0;
        //}

        image.gif

        image.gif编辑

        //int main()
        //{
        //  int i, f, n;
        //  printf("请输入一个正整数:");
        //  scanf_s("%d", &n);
        //  f = 1;
        //  for (i = 2; i <= n - 1 && f; i++)
        //    if (n % i == 0)
        //      f = 0;
        //  if (f)
        //    printf("%d是素数\n", n);
        //  else
        //    printf("%d不是素数\n", n);
        //  return 0;
        //}

        image.gif

        5.3使用while语句实现循环结构

        while(表达式)

        循环体;

        第一步,计算表达式的值,若表达式的值为真,就执行第二步或表达式的值为假,就转到第四步。

        第二步执行循环体语句。

        第三步,返回第一步。

        第四步,结束循环执行语句的下一条语句。

        注意: while语句的特点是先判断循环条件,后执行循环体。

        image.gif编辑

        //int main()
        //{
        //  int i, sum;
        //  i = 1; sum = 0;
        //  while(i<=100)
        //  {
        //    sum = sum + i;
        //    i = i + 1;
        //  }printf("sum=%d\n", sum);
        //    return 0;
        //}

        image.gif

        image.gif编辑

        //int main()
        //{
        //  int i; long n, fact;
        //  i = 2; fact = 1;
        //  printf("请输入n的值:");
        //  scanf_s("%ld", &n);
        //  while(i<=n)
        //  {
        //    fact = fact * i;
        //    i = i + 1;
        //  }printf("%ld!=%ld\n", n, fact);
        //  return 0;
        //}

        image.gif

        5.4使用do-while语句实现循环结构

        在C语言中,do-while语句也用于完成不定次数的循环控制语句。while不同的是语句。do-while首先执行一次循环体,然后判断循环条件,如果满足这反复执行循环体语句,否则结束循环语句。

        5.4.1do-while语句的基本语法。

        do-while在使用时,首先要执行循环体语句,然后再判断条件所以,do-while可以用语句实现直到型循环。一般形式如下:

        do

         循环体

        while(表达式)

        第一步,执行循环体语句。

        第二步计算表达式的值,若表达式的值为真,非零,返回第一步,若表达式的值为假零,则执行第三步,

        第三部结束循环执行语句的下一条语句。注意语句的特点是先执行循环体,后判断循环条件,因此循环至少执行一次循环体。

         image.gif编辑

        //int main()
        //{
        //  int i, sum;
        //  i = 1, sum = 0;
        //  do
        //  {
        //    sum = sum + i;
        //    i = i + 1;
        //  } while (i <= 100);
        //    printf("sum=%d", sum);
        //  return 0;
        //}

        image.gif

        一般来说,如果题目中给出了循环次数,首选for循环语句,如果循环次数不明确,需要通过其他条件控制循环。通常选用while循环语句,如果需要先执行语句,然后再根据条件判断是否继续执行循环体,则do-while语句最合适。

        image.gif编辑

        //int main()
        //{
        //  int a, b, r, n, m;
        //  printf("请输入两个整数:");
        //  scanf_s("%d%d", &a, &b);
        //  m = a, n = b;
        //  do
        //  {
        //    r = a % b;
        //    a = b;
        //    b = r;
        //  } while (r != 0);
        //  printf("%d和%d的最大公约数是:%d\n", m, n, a);
        //  printf("最大公倍数是:%d", m * n / a);
        //  return 0;
        //}

        image.gif

        image.gif编辑

        //int main()
        //{
        //  int count = 0;
        //  long n, m;
        //  printf("请输入一个整数:");
        //  scanf_s("%ld", &n);
        //  m = n;
        //  if (n < 0)n = -n;
        //  do
        //  {
        //    n = n / 10;
        //    count++;
        //  } while (n != 0);
        //  printf("整数%d有%d位数\n", m, count);
        //  return 0;
        //}

        image.gif

        5.5改变循环结构的跳转语句

        在前面介绍的三种循环语句及for循环语句、while循环语句及do well循环语句中,控制循环是通过循环达到设定的次数或者循环的判断条件为假时结束循环。这种循环控制方式在实际程序中是不够的。许多时候,当循环结构中出现多个循环条件时,要求当某个条件满足时会立刻结束循环,或者循环结构中,根据条件会调出某些语句继续循环,需要在循环结构中配合使用break语句和continue语句。

        5.5.1 break语句

        当break语句用于循环语句中时,可使程序终止循环而转去执行循环语句的后续语句。通常break语句总是与if语句一起配合使用及满足条件时,便跳出循环。

        image.gif编辑

        //int main()
        //{
        //  int i = 5;
        //  do
        //  {
        //    if (i % 3 == 1)
        //      if (i % 5 == 2)
        //      {
        //        printf("%d", i);
        //        break;
        //      }i++;
        //  } while (i != 0);
        //  return 0;
        //}

        image.gif

        image.gif编辑

        //int main()
        //{
        //  int n, m, i;
        //  printf("请输入一个正整数:");
        //  scanf_s("%d",&n);
        //  m = sqrt(n);
        //  for (i = 2; i <= m; i++)
        //    if (n % i == 0)
        //      break;
        //  if (i > m)
        //    
        //    printf("%d是素数!\n", n);
        //  else
        //  printf("%d是素数!\n", n);
        //  return 0;
        //}

        image.gif

        image.gif编辑

        //int main()
        //{
        //    int num, n;
        //    float score, total = 0;
        //    num = 0; n = 0;
        //    while (1)
        //    {
        //        printf("请输入分数#%d(0~100):", n + 1);
        //        scanf_s("%f", &score);
        //        if (score < 0)
        //            break;
        //        if (score < 60)
        //            num++;
        //        total += score;
        //        n++;
        //    }
        //    printf("平均分数是:%.2f.\n", total / n);
        //    printf("不及格的有:%d.\n", num);
        //    return 0;
        //}

        image.gif

        5.5.2 continue语句

        Continue语句的作用是跳过循环体中,Continue后面的语句,继续下一次循环。continue语句只能用在循环语句中,常与if语句一起使用。

        image.gif编辑

        //int main()
        //{
        //  int i, n = 1;
        //  for (i = 1; i <= 100; i++)
        //  {
        //    if (i % 7 != 0)
        //      continue;
        //    printf("%4d", i);
        //    if (n++ % 5 == 0)printf("\n");
        //  }return 0;
        //}

        image.gif

        image.gif编辑

        //int main()
        //{
        //  int n, s = 0;
        //  n = 1;
        //  while(n<10)
        //  {
        //    s = s + n;
        //    if (s > 5)
        //      break;
        //    if (n % 2 == 1)
        //      continue;
        //    n++;
        //  }printf("s=%d,n%d\n", s, n);
        //  return 0;
        //}

        image.gif

        5.5.3goto语句

        除了前面介绍的三种循环控制语句,还有一种可以实现控制的语句及goto语句说明。语句标号是一个有效的标识符,使用时在语句标号后面跟一个出现在函数中某语句的前面,程序执行到goto语句时会控制跳转到该语句标号处,达到控制循环的目的。

        image.gif编辑

        //int main()
        //{
        //  int i, sum;
        //  i = 1; sum = 0;
        //lopp: if(i<=100)
        //{
        //  sum = sum + i;
        //  i = i + 1;
        //  goto lopp;
        //}printf("sum=%d\n", sum);
        //return 0;
        //}

        image.gif

        注意,语句标号必须与goto语句处于同一个函数中,通常goto语句与if语句连体,实现控制循环。大型程序中,由于goto语句可能存在的不合理的使用,会使成构程序结构变坏,所以结构化程序设计中不建议使用goto语句。

        5.6循环嵌套

        当一个循环的循环,体内又包含了另一个完整的循环结构时,成为循环的嵌套或者是二重循环。根据问题的需要,可以构成三重及以上的循环嵌套结构,它一般情况下最多使用到三重循环。

         

        image.gif编辑

        //int main()
        //{
        //    int i, j;
        //    double factorial, s = 0;
        //    for (i = 1; i <= 10; i++)
        //    {
        //        factorial = 1;
        //        for (j = 1; j <= i; j++)
        //            factorial *= j;
        //        s += factorial;
        //    }
        //    printf("1!+2!+3!+···+10!=%.0f\n", s);
        //    return 0;
        //}

        image.gif

        image.gif编辑

        //int main()
        //{
        //    int i, j;
        //    for (i = 1; i <= 9; i++)
        //    {
        //        for (j = 1; j <= i; j++)
        //            printf("%d*%d=%d\t", j, i, j * i);
        //        printf("\n");
        //    }
        //    return 0;
        //}

        image.gif

        image.gif编辑

        //int main()
        //{
        //    int i, n, k, count = 0;
        //    n = 2;
        //    while (n < 100)
        //    {
        //        k = sqrt(n);
        //        for (i = 2; i <= k; i++)
        //            if (n % i == 0)break;
        //        if (i > k)
        //        {
        //            printf("%4d", n);
        //            if (++count % 10 == 0)printf("\n");
        //        }
        //        n++;
        //    }
        //    return 0;
        //}

        image.gif

        image.gif编辑

        // int main()
        //{
        //    int i, n, m;
        //    for (m = 10; m <= 20; m++)
        //    {   n = m, i = 2;
        //        printf("%d=", n);
        //        do
        //        { if (n % i == 0)
        //            { printf("%d*", i);
        //                n=n/i;
        //            }
        //            else
        //                i++;
        //        }while (n != i);
        //        printf("%d\n", n);
        //    }
        //    return 0;
        //}

        image.gif

        5.7典型算法举例

        在解决实际问题的过程中,经常要用到一些典型的算法,熟悉并掌握这些算法对提高程序设计的技能与技巧很有帮助。半介介绍常用的递推法、迭代法及穷举法。

        5.7.1 递推法

        image.gif编辑

        //int main()
        //{
        //    int day, d1, d2;
        //    day = 9;
        //    d2 = 1;
        //    do
        //    {
        //        d1 = (d2 + 1) * 2;
        //        d2 = d1;
        //        --day;
        //    }
        //    while (day > 0);
        //        printf("第一天摘了%d\n", d1);
        //    return 0;
        //}

        image.gif

        image.gif编辑

        //#define eps 1e-6
        //int main()
        //{
        //    int n = 1; float x;
        //    double fz, fm = 1, sinx;
        //    printf("请输入x的值:");
        //    scanf_s("%f", &x);
        //    fz = x; sinx = x;
        //    do
        //    {
        //        n += 1;
        //        fz = -fz * x * x;
        //        fm = fm * (2 * n - 2) * (2 * n - 1);
        //            sinx = sinx + fz / fm;
        //    } while (fabs(fz / fm) > eps);
        //    printf("sin(%f)=%0.6f\n", x, sinx);
        //    printf("sin(%f)=%0.6f\n", x, sin(x));
        //    return 0;
        //}

        image.gif

        5.7.2迭代法

        image.gif编辑

        //int main()
        //{
        //    float x1, x0, f, f1;
        //    x1 = 1.0;
        //    do
        //    {
        //        x0 = x1;
        //        f = ((2 * x0 - 4) * x0 + 3) * x0 - 6;
        //        f1 = (6 * x0 - 8) * x0 + 3;
        //        x1 = x0 - f / f1;
        //    } while (fabs(x1 - x0) > eps);
        //    printf("%6.2f", x1);
        //    return 0;
        //}

        image.gif

        5.7.3穷举法

        image.gif编辑

        //int main()
        //{
        //    int men, women, child;
        //    for (men = 0; men <= 9; men++)
        //        for (women = 0; women <= 12; women++)
        //        {
        //            child = 36 - men - women;
        //            if (men * 4 + women * 3 + child * 0.5 == 36)
        //                printf("男:%d,女:%d,小孩:%d\n", men, women, child);
        //        }
        //return 0;
        //}

        image.gif

        image.gif编辑

        //int main()
        //{
        //    int i, j, k, n = 0;
        //    for(i=1;i<5;i++)
        //        for ( j= 1; j < 5; j++)
        //            for (k = 1; k < 5; k++)
        //                if (i != k && i != j && j != k)
        //                {
        //                    printf("%d%d%d\t", i, j, k);
        //                    if (++n % 5 == 0)printf("\n");
        //                }
        //    printf("\n共有:%d\n", n);
        //    return 0;
        //}

        image.gif

        5.8循环程序设计示例

        image.gif编辑

        //int main()
        //{
        //    int i, j;
        //    for (i = 1; i <= 5; i++)
        //    {
        //        for (j = 1; j <= 20 - i; j++)
        //            printf(" ");
        //        for (j = 1; j <= 2 * i - 1; j++)
        //            printf("*");
        //        printf("\n");
        //    }
        //    return 0;
        //}
                              /*【例5.35】*/

        image.gif

        image.gif编辑

        //int main()
        //{
        //    int m, n, count = 0;
        //        m = rand() % (80 - 10 + 1) + 10;
        //        printf("请输入一个10—80之间的整数:");
        //        while (1)
        //        {
        //            scanf_s("%d", &n);
        //            count++;
        //            if (m == n)
        //            {
        //                printf("恭喜!你猜对了,你真棒!\n");
        //                break;
        //            }
        //            else if (m > n && count < 5)
        //                printf("对不起!你猜小了!再来一次!");
        //            else if (m < n && count < 5)
        //                printf("对不起!你猜大了!再来一次!");
        //            if (count == 5)
        //            {
        //                printf("对不起!你没有机会了!\n这个数是:%d,游戏结束!\n", m);
        //                break;
        //            }
        //        }
        //        return 0;
        //}

        image.gif

        image.gif编辑

        //int main()
        //{
        //    int x, i, j = 0, n, k = 0;
        //    for (x = 100; x < 1000; x++)
        //    {
        //        k = sqrt(x);
        //        for (i = 2; i <= k; i++)
        //            if (x % i == 0)
        //                break;
        //        if (i > k)
        //        {
        //            k = x;
        //            n = 0;
        //            while (k > 0)
        //            {
        //                n = n * 10 + k % 10;
        //                k /= 10;
        //            }
        //            if (x == n)
        //            {
        //                printf("%d\t", x);
        //                if (++j % 5 == 0)printf("\n");
        //            }
        //        }
        //    }
        //    return 0;
        //}

        image.gif

        image.gif编辑

        //int main()
        //{
        //  int x, t;
        //  printf("i\tpower\n");
        //  for (x = 100; x < 1000; x++)
        //  {
        //    t = x * x;
        //    while (t != 0)
        //    {
        //      if (x == t % 1000)
        //      {
        //        printf("%d\t%d\n", x, x * x);
        //        break;
        //      }
        //      else
        //        t /= 10;
        //    }
        //  }
        //  return 0;
        //}

        image.gif

        文字总结

        循环结构是结构化程序设计中的基本结构之一。循环结构在程序设计中的应用很普遍,几乎所有具有使用价值的应用程序中都包含着循环结构。循环结构的特点是可以完成有规律的需要,重复计算或处理的任务。虽然重复执行的语句相同,但与剧中一些变量的值在发生着变化,但达到循环次数或满足一定条件时,循环会结束。C语言提供了for语句、while语句和do while3种循环语句。

        相关文章
        |
        7天前
        |
        存储 C语言
        【C语言程序设计——函数】递归求斐波那契数列的前n项(头歌实践教学平台习题)【合集】
        本关任务是编写递归函数求斐波那契数列的前n项。主要内容包括: 1. **递归的概念**:递归是一种函数直接或间接调用自身的编程技巧,通过“俄罗斯套娃”的方式解决问题。 2. **边界条件的确定**:边界条件是递归停止的条件,确保递归不会无限进行。例如,计算阶乘时,当n为0或1时返回1。 3. **循环控制与跳转语句**:介绍`for`、`while`循环及`break`、`continue`语句的使用方法。 编程要求是在右侧编辑器Begin--End之间补充代码,测试输入分别为3和5,预期输出为斐波那契数列的前几项。通关代码已给出,需确保正确实现递归逻辑并处理好边界条件,以避免栈溢出或结果
        46 16
        |
        10天前
        |
        算法 C语言
        【C语言程序设计——循环程序设计】求解最大公约数(头歌实践教学平台习题)【合集】
        采用欧几里得算法(EuclideanAlgorithm)求解两个正整数的最大公约数。的最大公约数,然后检查最大公约数是否大于1。如果是,就返回1,表示。根据提示,在右侧编辑器Begin--End之间的区域内补充必要的代码。作为新的参数传递进去。这个递归过程会不断进行,直到。有除1以外的公约数;变为0,此时就找到了最大公约数。开始你的任务吧,祝你成功!是否为0,如果是,那么。就是最大公约数,直接返回。
        65 18
        |
        10天前
        |
        Serverless C语言
        【C语言程序设计——循环程序设计】利用循环求数值 x 的平方根(头歌实践教学平台习题)【合集】
        根据提示在右侧编辑器Begin--End之间的区域内补充必要的代码,求解出数值x的平方根;运用迭代公式,编写一个循环程序,求解出数值x的平方根。注意:不能直接用平方根公式/函数求解本题!开始你的任务吧,祝你成功!​ 相关知识 求平方根的迭代公式 绝对值函数fabs() 循环语句 一、求平方根的迭代公式 1.原理 在C语言中,求一个数的平方根可以使用牛顿迭代法。对于方程(为要求平方根的数),设是的第n次近似值,牛顿迭代公式为。 其基本思想是从一个初始近似值开始,通过不断迭代这个公式,使得越来越接近。
        41 18
        |
        10天前
        |
        C语言
        【C语言程序设计——循环程序设计】统计海军鸣放礼炮声数量(头歌实践教学平台习题)【合集】
        有A、B、C三艘军舰同时开始鸣放礼炮各21响。已知A舰每隔5秒1次,B舰每隔6秒放1次,C舰每隔7秒放1次。编程计算观众总共听到几次礼炮声。根据提示,在右侧编辑器Begin--End之间的区域内补充必要的代码。开始你的任务吧,祝你成功!
        43 13
        |
        6天前
        |
        存储 编译器 C语言
        【C语言程序设计——函数】分数数列求和2(头歌实践教学平台习题)【合集】
        函数首部:按照 C 语言语法,函数的定义首部表明这是一个自定义函数,函数名为fun,它接收一个整型参数n,用于指定要求阶乘的那个数,并且函数的返回值类型为float(在实际中如果阶乘结果数值较大,用float可能会有精度损失,也可以考虑使用double等更合适的数据类型,这里以float为例)。例如:// 函数体代码将放在这里函数体内部变量定义:在函数体中,首先需要定义一些变量来辅助完成阶乘的计算。比如需要定义一个变量(通常为float或double类型,这里假设用float。
        18 3
        |
        6天前
        |
        存储 算法 安全
        【C语言程序设计——函数】分数数列求和1(头歌实践教学平台习题)【合集】
        if 语句是最基础的形式,当条件为真时执行其内部的语句块;switch 语句则适用于针对一个表达式的多个固定值进行判断,根据表达式的值与各个 case 后的常量值匹配情况,执行相应 case 分支下的语句,直到遇到 break 语句跳出 switch 结构,若没有匹配值则执行 default 分支(可选)。例如,在判断一个数是否大于 10 的场景中,条件表达式为 “num> 10”,这里的 “num” 是程序中的变量,通过比较其值与 10 的大小关系来确定条件的真假。常量的值必须是唯一的,且在同一个。
        11 2
        |
        10天前
        |
        存储 编译器 C语言
        【C语言程序设计——函数】回文数判定(头歌实践教学平台习题)【合集】
        算术运算于 C 语言仿若精密 “齿轮组”,驱动着数值处理流程。编写函数求区间[100,500]中所有的回文数,要求每行打印10个数。根据提示在右侧编辑器Begin--End之间的区域内补充必要的代码。如果操作数是浮点数,在 C 语言中是不允许直接进行。的结果是 -1,因为 -7 除以 3 商为 -2,余数为 -1;注意:每一个数据输出格式为 printf("%4d", i);的结果是 1,因为 7 除以 -3 商为 -2,余数为 1。取余运算要求两个操作数必须是整数类型,包括。开始你的任务吧,祝你成功!
        41 1
        |
        IDE 开发工具 C语言
        C语言 第五章 循环结构练习
        一、计算15+16+17 …98+99的和 for实现 #include "stdio.h" void main() { //15+16+17 …98+99 int i,s=0; for(i=15;i='a'&&str[i]='A'&&str[i]='0'&&...
        1137 0
        |
        11天前
        |
        存储 算法 C语言
        【C语言程序设计——函数】素数判定(头歌实践教学平台习题)【合集】
        本内容介绍了编写一个判断素数的子函数的任务,涵盖循环控制与跳转语句、算术运算符(%)、以及素数的概念。任务要求在主函数中输入整数并输出是否为素数的信息。相关知识包括 `for` 和 `while` 循环、`break` 和 `continue` 语句、取余运算符 `%` 的使用及素数定义、分布规律和应用场景。编程要求根据提示补充代码,测试说明提供了输入输出示例,最后给出通关代码和测试结果。 任务核心:编写判断素数的子函数并在主函数中调用,涉及循环结构和条件判断。
        49 23
        |
        11天前
        |
        算法 C语言
        【C语言程序设计——函数】利用函数求解最大公约数和最小公倍数(头歌实践教学平台习题)【合集】
        本文档介绍了如何编写两个子函数,分别求任意两个整数的最大公约数和最小公倍数。内容涵盖循环控制与跳转语句的使用、最大公约数的求法(包括辗转相除法和更相减损术),以及基于最大公约数求最小公倍数的方法。通过示例代码和测试说明,帮助读者理解和实现相关算法。最终提供了完整的通关代码及测试结果,确保编程任务的成功完成。
        41 15

        热门文章

        最新文章