for语句:

for (表达式1;表达式2;表达式3)
{
循环语句
}
  • 表达式1 给循环变量赋初值
  • 表达式2 为循环条件
  • 表达式3 用来修改循环变量的值,称为循环步长。

for语句的执行流程:

例:编程计算:1+2+3+...+99+100的结果。

这是累加问题,累加问题的通用表达式为:S = S + T;

其中,S是一个变量,用来存储累加最后的结果,称之为累加器;T是一个表达式,代表每次需要加入累加器的中的值。

累加一般是通过循环结构实现的。循环之前要设置累加器S的初始值为0。

累加项T可以是很简单的表达式,也有可能是一个通过分析得到的较复杂的表达式。

int S = 0;
for (int i = 1; i <= 100; i++)
{
S = S + i;
}
printf("%d\n",S);

注意:

1)对于已经确定是累加算法的题目,首先确定累加项与循环变量的关系;

2)然后,考虑第一个累加项的值是多少,以确定循环变量的初值;

3)其次,确定最后一个累加项的值,确定循环条件;

4)最后,考虑每个累加项之间的关系,以确定循环变量的变化(步长值)。

例:编程计算S = a + aa + aaa + aaaa + ... 的前n项之和。

例如:如果a = 3,n = 5,则表达式为:S = 3 + 33 + 333 + 3333 + 33333。

int S = 0;
int t = 0;
for (int i = 0;i < 5;i++ )
{
t = t * 10 + 3;
S = S + t;
}
printf("%d\n",S);
累加算法也可以演化为连乘的形式:S = 1 * 2 * 3 * ... * n。
连乘的算法和累加算法相似,循环体实现的是S = S * T的形式。需要注意的S的初值不是0,而是要设为1。
在求连乘时,由于每乘一次结果增长都非常快,所以应该注意是否会出现溢出的问题。

循环程序设计思路:

(1)输入是什么?用来确定原始值。

(2)输出是什么?确定应该输出的结果。

(3)从输入转换为输出需要怎样的步骤,是否需要重复(确定是否需要使用循环语句以及循环语句的内容)。

(4)如果需要重复,能否提前预知重复的次数?用来确定使用while、do while、for中的哪种循环语句。

(5)何时不再需要重复?用来确定循环条件以及循环体中使循环条件趋近于0的语句。

例:水仙花数、四叶玫瑰数、五角星数、六位数的问题。

水仙花数:每位数字的3次幂之和等于它本身。例:1^3 + 5^3 + 3^3 = 153。

四叶玫瑰数:每位数字的4次幂之和等于它本身。

五角星数:每位数字的5次幂之和等于它本身。

六位数:每位数字的6次幂之和等于它本身。

// 打印出所有的水仙花数
int i,j,k,n,s;
for(i = 1;i <= 9;i++)
for(j = 0;j <= 9;j++)
for(k = 0;k <= 9;k++)
{
n = k * k * k + j * j * j + i * i * i;
      s = i * 100 + j * 10 + k;
      if (n == s)
      {
printf("%d\n",n);
}
}

或:

// 打印出所有水仙花数
        int i,j,k,n,s;
        printf("水仙花数有:\n");
        for(n = 100;n < 1000;n++)
        {
            i = n / 100;          /*分解出百位*/
            j = n / 10 % 10;     /*分解出十位*/
            k = n % 10;          /*分解出个位*/
            s = i * i * i + j * j * j + k * k * k;
            if(s == n)
            {
                printf("%d\n",n);
            }
        }

【C语言】-循环结构-for语句的更多相关文章

  1. Golang的循环结构-for语句

    Golang的循环结构-for语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.for循环语法 循环结构在生活中的场景也非常的多,比如: ()上班族们每天朝九晚五的生活; ( ...

  2. 循环结构for语句-求和思想

    循环结构for语句的练习-求和思想:需求1:求出1到10之间的数据和 public static void main(String[] args) { int sum = 0; for(int i = ...

  3. C语言-循环结构及break、continue

    循环结构 --1-- 结构循环 1.1 while循环 1.2 do…while循环 1.3 for循环 --2-- break和continue 2.1 break关键字 2.2 continue关 ...

  4. C语言------循环结构II

    仅供借鉴.仅供借鉴.仅供借鉴(整理了一下大一C语言每个章节的练习题.没得题目.只有程序了) 文章目录 1 .实训名称 2 .实训目的及要求 3 .源代码及运行截图 4 .小结 1 .实训名称 实训6: ...

  5. C语言------循环结构I

    文章目录 1 .实训名称 2 .实训目的及要求 3 .源代码及运行截图 4 .小结 1 .实训名称 实训5:循环结构I 2 .实训目的及要求 1 .熟练掌握while.do-while和for语句实现 ...

  6. 【C语言】-循环结构-while语句

    while语句: while循环可实现"当型"循环,即当条件成立时,执行循环体.适合无法确定循环执行次数的情况. while (表达式) { 循环语句 } 注意: 表达式为循环控制 ...

  7. C语言----循环结构1(基础篇五)

    今天更新一个C语言的循环,简单点就是就是我们平时在使用电脑时不停的刷新网页,生活中每天都要吃饭等等就是循环,而编程中也有不断循环的过程,或者遇到符合的条件结束循环 下面进入今天的主题: 需求:用计算机 ...

  8. iOS学习03C语言循环结构

    1.while循环 while (循环条件) {        循环体: } // 1.定义循环变量 ; // 2.循环条件 ) { // 3.循环体 printf("%d\n", ...

  9. iOS学习之C语言循环结构

    一.while循环    while (循环条件) {        循环体:    }    // 1.定义循环变量    int time = 1;    // 2.循环条件    while ( ...

随机推荐

  1. HDU 2159 FATE (DP 二维费用背包)

    题目链接 题意 : 中文题不详述. 思路 : 二维背包,dp[i][h]表示当前忍耐值为i的情况下,杀了h个怪得到的最大经验值,状态转移方程: dp[i][h] = max(dp[i][h],dp[i ...

  2. 孟岩的c++ 的学习方法,这何尝有不是做人做事的方法呢?

    “(孟岩)我主张,在具备基础之后,学习任何新东西,都要抓住主线,突出重点.对 于关键理论的学习,要集中精力,速战速决.而旁枝末节和非本质性的知识内容,完全可 以留给实践去零敲碎打. “原因是这样的,任 ...

  3. HeadFirst设计模式之装饰者模式

    一. 1.The Decorator Pattern attaches additional responsibilities to an object dynamically.Decorators ...

  4. xml--通过jdom解析及生产XML

    JDOM是一种使用 XML 的独特 Java 工具包,用于快速开发 XML 应用程序.它的设计包含 Java 语言的语法乃至语义. JAXP (用于 XML 语法分析的 Java API)包含了三个软 ...

  5. AIDL与stub

     Stub翻译成中文是存根的意思,注意Stub对象是在被调用端进程,也就是服务端进程,至此,服务端aidl服务端得编码完成了.  stub是为了方便client,service交互而生成出来的代码.A ...

  6. POJ 2398 Toy Storage

    这道题和POJ 2318几乎是一样的. 区别就是输入中坐标不给排序了,=_=|| 输出变成了,有多少个区域中有t个点. #include <cstdio> #include <cma ...

  7. 微软 Virtual studion Code

    在 Build 2015 大会上,微软除了发布了 Microsoft Edge 浏览器和新的 Windows 10 预览版外,最大的惊喜莫过于宣布推出免费跨平台的 Visual Studio Code ...

  8. 【转】photoshop CS2安装激活破解教程

    原文网址:http://www.16xx8.com/photoshop/jiaocheng/109348_all.html photoshop CS2安装教程:(本页介绍如何安装CS2软件,如果你安装 ...

  9. SharePoint 2010 Pop-Up Dialogs

    转:http://kyleschaeffer.com/sharepoint/sharepoint-2010-pop-up-dialogs/ SharePoint 2010 makes it incre ...

  10. ramdisk作为根文件系统的配置

    ramdisk作为根文件系统的配置 http://wenku.baidu.com/link?url=oKj45hKtIANfoVzmoFAmWEvESHiqgWysxPASelpzaXk35gWb1I ...