C语言轻松学习-5

第五章

任务一:嵌套循环的使用

任务二:拓展小知识

小结

习题

首先,今天是个特殊的日子,是属于我们的程序员节日,1024

咳咳,好了既然今天是个特殊的日志那么我们更应该带着荣耀去努力学习,昨天遇见一道题:算出用户输入n!(n的阶乘⇔1*2*3*4*5*……*n),我们可以利用循环来解决,代码如下:

用户输入一个数值,然后我们根据此数值的大小来进行判断循环多少次,每次都要从小到大依次相乘至用户所输入的数值为止

#include<stdio.h>
int main()
{
  int n,sum=1;
  scanf("%d",&n);
  for(int i=1;i<=n;i++)
  {
    sum*=i;
  }
  printf("%d",sum);
  return 0;
}

调试截图如下:3!=1*2*3=6,答案正确,

那么如果算“1!+2!+3!+……+n!”我们应该如何去解决呢?

那么这就要涉及到我们今天所讲的内容了,我们重点来讲解“嵌套循环的使用”,

我们知道,我圈住的这个循环,写的是“n!”,然而我们要计算“1!+2!+3!+……+n!”

那么我们就需要使用“嵌套循环”了,因为我们不仅需要上面这个循环来计算单个阶乘,还得需要另一个循环来实现多个阶乘之和,代码如下:#include<stdio.h>

#include<stdio.h>
int main()
{
  int n,sum,all=0;
  scanf("%d",&n);
  for(int j=1;j<=n;j++)
  {
    sum=1; 
    for(int i=1;i<=j;i++)
    {
      sum*=i;
    }
    all+=sum;
    printf("%d\n",sum);
  }
  printf("%d",all);
  return 0;
}

 

调试截图如下:我们来解释一下各行代码的含义

1.导入并使用必要的库头文件

2.创建核心主函数“int main()”

4.定义自变量,n代表的是用户输入并想要求的某个数的阶乘,sum用来记录每个阶乘的值,all代表所有阶乘之和

5.标准输入函数,让用户输入数值

6.“for()”循环,中,自变量“j”用来检测并判断运行了“n”个阶乘

8.因为每次每个小阶乘,比如2!=1*2,起始量都为1*…..*n,所以这里声明一下起始量,每次循环这个“for(int i=1;i<=j;i++)”循环都会重新改变sum的值,防止上个阶乘的数值干扰

9.这个“for()”循环,用来计算每个小阶乘的数值,

11.sum*=i⇔sum=sum*i

13.计算每次的小阶乘数值之和,all+=sum⇔all=all+sum

14.输出每次的小阶乘,如调试得,我们输入的是3,1!=1,2!=2,3!=6

16.输出所有小阶乘之和,1!+2!+3!+……+n!

嵌套循环,刚开始学都会很难理解,会很绕,所以大家要自信点,这类嵌套循环需要多多敲代码,多写练习题才能掌握,如果你长时间没有练习,再次遇到思路将会很难打开。

好的上述看懂之后,我们接着再次利用嵌套循环输出一个“乘法口诀表”,大家先自行思考思考,先休息10分钟,,,

本文作者为:晗雅|星空,转载请注明!版权必究!
1 2 3 4
分享到:

请选择你看完该文章的感受:

6瞧一瞧 0扯淡 3学到了 1不懂 8正能量 0无聊

评论抢沙发

评论前必须登录!