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. android 从系统相册获取一张图片

    package net.viralpatel.android.imagegalleray; import android.app.Activity; import android.content.In ...

  2. adobe 蛋疼的套装, 想安装一个Flash Professional CS6,标准版还没有...

    产品比较 查看内容 查看各 Creative Suite 6 版本的组件. Design Standard Design & Web Premium Production Premium Ma ...

  3. Unable to resolve target 'android-8'类似错误的解决办法

    导入android项目出现:出现Unable to resolve target 'android-8'错误及其他的一些解决办法 - 为梦想而飞 - 博客频道 - CSDN.NEThttp://blo ...

  4. 91. Decode Ways

    题目: A message containing letters from A-Z is being encoded to numbers using the following mapping: ' ...

  5. hadoop之eclipse环境的配置

    http://hi.baidu.com/kongxianghe123/item/ea352e1040cdeffd86ad4e28

  6. 转: Linux 技巧:让进程在后台可靠运行的几种方法

    我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败.如何让命令提交后不受本地关闭终端窗口/网络断开 ...

  7. JXL读取Excel日期时间不准确

    XL读取Excel日期时间多出了8个小时. Cell c = rs.getCell(j, i);                     if (c.getType() == CellType.DAT ...

  8. jsoi2015 R2——滚粗记

    考完感觉各种绝望溢出胸口,作为百度空间的最后一篇文章了吧 day 0 第二轮在南师附中……不能到外地玩了…… 其实在试机的时候就感觉不大对头,明明说好18:15试机结果拖到18:30…… 还有今年竟然 ...

  9. HAOI2006受欢迎的牛

    求出强联通分量之后判断出度为0的点有几个,有1个就输出这个分量的点的数目,否则输出0: var i,j,n,m,x,y,ans1,ans2,t,cnt,top:longint; head,next,g ...

  10. 银行爱“IOE”爱得有多深

    本文由阿尔法工场欧阳长征推荐 导读:如果银行是一家海鲜酒楼,把IBM换掉相当于大搞一次装修,把Oracle换掉相当于把厨子和菜谱全部换掉,把EMC换掉相当于把放食材工具的储物间换个地方.难度在于,这海 ...