循环结构 程序举例

简介: 循环结构 程序举例

循环结构:

求n!

求1!+2!+3!+……+n!

求数列和

求cosx的近似值

求n!

输入n

使用for循环 for( i=1;i<=n;i++) // i 是计数器变量

用fac来接收 n!

输出 n!

#include <stdio.h>
int main (void)
{
  int i,n;
  float fac;
  printf("请输入正整数n:\n");
  scanf("%d",&n);
  fac=1;               \\记得给fac初始化!!
  for (i=1;i<=n;i++)   \\注意不要在后面加分号!
  {
    fac*=i;
  }
  printf("n!=%f",fac);
  return 0;
}

求1!+2!+3!+……+n!

用s接收 1!+2!+3!+……+n! 并将s初始化为0

用 变量a来接收 1! , 2!, 3!,……n!

循环次数已定,为n

使用for循环 for(i=1;1<=n;i++)

循环体 a * =i;s+=a;

#include <stdio.h>
int main (void)
{
  int i,n;
  float a=1,s=0;           \\给a和s初始化
  printf("请输入正整数n:\n");
  scanf("%d",&n);          \\不要丢取地址符!
  for (i=1;i<=n;i++)        
  {
    a*=i;
    s+=a;
  }
  printf("s=%f",s);
  return 0;
}

求数列和

计算数列1/2,-2/3,3/4,-4/5……的前20项和。

首先,循环数已知为20,以变量i作为计数器

确定for 循环 for(i=1;i<=20;i++)

观察分子分母以及符号的规律。

分子:当i=1时,分子为1;当i=2时,分子为2……分子数值一直与i相同。用a来接收分子的值,可以将变量i的值直接赋值给a。

分母:分母的值为分子的值加1。用变量b来接收分母的值,即b=i+1

符号:第一项为正,第二项为负。即奇数项为正,偶数项为负。后一项的符号与前一项的符号相反。用变量c来进行符号的转换

#include <stdio.h>
int main (void)
{
  int i,c;
  float a,b,s;
  s=0;
  c=-1;
  for (i=1;i<=20;i++)
  {
    a=i;
    b=i+1;
    c*=-1;
    s+=a/b*c;
  }
  printf("s=%f\n",s);
  return 0;
}

求数列和

计算数列1/2,-2/3,3/5,-5/8,8/13……的前20项和。

分析如上题目。

循环次数已定,为20.

使用for循环,用变量i作为计数器。 即 for(i=1;i<=20;i++)

分子与i相同

分母:第一项为2,第二项为3,第三项为5,第四项为8……即分母为前两项之和。必要条件:必须知道第一项分母和第二项分母的值。

符号后一项的符号与前一项的符号相反

#include <stdio.h>
int main (void)
{
  int i,f;    \\i只是计数器的作用;f只在1和-1之间变换。
  float s,a,b,c,x;   
  a=2;b=3;   \\处理前两项。分别为第一项和第二项分母。
  s=1./2.-2./3.;  \\前两项需要直接存到s中,后面根据前两项的规律进行递推。
                   \\注意!!!不能写成1/2 -2/3 否则运算结果为0!
  f=1;
  for (i=3;i<=20;i++)   \\计数器从3开始即可
  {
    c=a+b;     \\引入变量c是为了分母的递推
    a=b;b=c;
    x=i/c*f;  \\将后面每一项存到变量x中
    f*=-1;
    s+=x;
  }
  printf("s=%f",s);
  return 0;
} 

求cosx的近似值

cosx=1-x^2/2!+x ^4/4!+x ^6/6!……

分析:

未知x,需要输入x;

一共加到多少项,未知。(即循环次数未知)但是当某一项小于等于10^-6 时,就会停止循环 (循环的条件)

每一项的表示:

分子:x^2 , x ^4 , x ^6, ……后面每一项都是前一项加2

分母:2! 4! 6! …… 后面每一项的阶乘都是前一项加2

循环变量i 设其初始值为2,使循环趋于结束的部分:i=i+2

符号:后一项的符号与前一项相反

#include <stdio.h>
#include <math.h>  \\下面用到 pow函数
int main (void)
{
  int i,f;     
  double x,cosx,a,b,c;  \\ pow函数 pow(x,y),要求x,y必须是double型数据
  printf("请输入x的值:\n");
  scanf("%lf",&x);    
  b=1;   \\用变量b来接收分母
  f=1;    \\控制符号变化
  cosx=1;   \\使变量x初始化
  c=1;    \\ 这里给c赋值只是为了for循环中,满足循环条件!
  for (i=2;c>=1e-6;i=i+2)
  {
    a=pow(x,i);
    b*=i*(i-1);
    f*=-1;
    c=a/b;     \\c恒正,为了判断循环条件时方便(可以不使用绝对值函数)
    cosx+=c*f;    \\注意不要忘了符号
  }
  printf("cosx的近似值为:%lf\n",cosx);
  return 0;
}


相关文章
|
1月前
|
Python
循环结构程序设置
循环结构程序设置
26 0
|
1月前
|
机器学习/深度学习 人工智能 算法
21.C语言:if语句编译选择结构举例
21.C语言:if语句编译选择结构举例
22 0
|
1月前
|
Java Python
循环程序举例
循环程序举例
26 1
|
1月前
|
存储 Java C#
选择结构程序综合举例
选择结构程序综合举例
24 1
|
1月前
|
存储 C语言
简单c语言程序举例
简单c语言程序举例
30 1
|
25天前
|
C语言
C语言中的条件控制循环:深入解析与实战应用
C语言中的条件控制循环:深入解析与实战应用
30 1
|
25天前
|
C语言
C语言条件控制循环的深入解析
C语言条件控制循环的深入解析
21 0
|
1月前
|
Python
用if语句处理选择结构举例
在编程中,选择结构是一种根据特定条件来决定执行哪段代码的结构。而if语句则是实现选择结构的一种常用方式。通过if语句,我们可以根据条件的真假来执行不同的代码块。下面将通过几个示例来展示如何使用if语句处理选择结构。
14 0
|
1月前
|
程序员 C语言
最简单的C语言程序举例
C语言是一种广泛使用的计算机编程语言,适合用于系统编程,也可以用于编写应用程序。它的语法清晰明了,功能强大,是很多程序员的首选语言。下面,我们将通过一个最简单的C语言程序来介绍其基本结构和语法。
39 0
|
1月前
|
C++ 容器
C++语言中for语句循环和作用类型
C++语言中for语句循环和作用类型
40 0