一、语句格式
格式1:
do
  语句1;
while (条件表达式);

格式2:
do {
  语句1;
  语句2;
  …
}
while (条件表达式);

语句执行过程:
1、执行一遍循环体。
2、求出作为循环条件的“条件表达式”的值,若为真,则自动转向第1步,否则结束do循环的执行过程,继续执行其后面的语句。
do-while循环的特点是:先执行循环体,后判断布尔表达式。

注意:
1、当条件表达式的值为真时重复循环体,否则结束循环;这一点和pascal语言的repeat语句相反。
2、在do语句的循环体中也可以使用break语句,用它来非正常结束循环的执行。
3、while和do while语句的区别在于:while语句先判断条件是否满足,决定是否执行循环体,若开始条件就不满足,那么循环体一次也不执行;而do while语句是后

判断,不管条件是否满足,首先执行一遍循环体,然后再判断条件是否满足,在do while结构中,循环体至少被执行一次。简单说就是,如果开始循环控制条件为假,

两种循环的执行结果有所不同,do while循环至少执行一次,而while循环却一次都不执行。

例1、求两个自然数m、n的最小公倍数。
方法一:
#include<iostream>
using namespace std;
int main()
{
  int m,n,s,i=1;
  cin>>m>>n;
  do {
    s=m*i;i++;
  } while (s%n!=0);
  cout<<s;
  return 0;
}

方法二:
#include<iostream>
using namespace std;
int main()
{
  int m,n,j,r;
  cin>>m>>n;
  j=m*n;
  do {
    r=m%n;m=n;n=r;
  } while (r!=0);
  cout<<j/m;
  return 0;
}

例2、求1992个1992的乘积的末两位数是多少?
#include<iostream>
using namespace std;
int main()
{
  int a=1,t=0;
  do {
    t++;a=a*92%100;
  } while (t<1992);
  cout<<a;
  return 0;
}

例3、校体操队到操场集合,排成每行2人,最后多出1人;排成每行3人,也多出1人;分别按每行排4、5、6人,都多出1人;当排成每行7人时,正好不多。求校体操队至少多少人?
#include<iostream>
using namespace std;
int main()
{
  int x=0;
  bool y;
  do {
    y=true;
    x+=7;
    if (x%2!=1) y=false;
    if (x%3!=1) y=false;
    if (x%4!=1) y=false;
    if (x%5!=1) y=false;
    if (x%6!=1) y=false;
  } while (y==false);
  cout<<x;
  return 0;
}

二、作业
1、zerojudge:a518
2、输出1至100之间所有的素数。
3、输出2至1000之间所有的完数,完数是指此数的所有因子之和等于此数,如:28=1+2+4+7+14。

do-while语句的更多相关文章

  1. python第六天 函数 python标准库实例大全

    今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...

  2. whdxlib

    1 数据库系统实现 实 验 指 导 书 齐心 彭彬 计算机工程与软件实验中心 2016 年 3 月2目 录实验一.JDBC 应用程序设计(2 学时) ......................... ...

  3. 【.net 深呼吸】细说CodeDom(2):表达式、语句

    在上一篇文章中,老周厚着脸皮给大伙介绍了代码文档的基本结构,以及一些代码对象与CodeDom类型的对应关系. 在评论中老周看到有朋友提到了 Emit,那老周就顺便提一下.严格上说,Emit并不是针对代 ...

  4. 将表里的数据批量生成INSERT语句的存储过程 增强版

    将表里的数据批量生成INSERT语句的存储过程 增强版 有时候,我们需要将某个表里的数据全部或者根据查询条件导出来,迁移到另一个相同结构的库中 目前SQL Server里面是没有相关的工具根据查询条件 ...

  5. mysql学习之 sql语句的技巧及优化

    一.sql中使用正则表达式 select name,email from user where email Regexp "@163[.,]com$"; sql语句中使用Regex ...

  6. SELECT INTO 和 INSERT INTO SELECT 两种表复制语句

    Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少.但我 ...

  7. MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句

    第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...

  8. Oracle 数据库语句大全

    Oracle数据库语句大全 ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CH ...

  9. MyBatis源码分析(二)语句处理器

    StatementHandler 语句处理器,主要负责语句的创建.参数的设置.语句的执行.不负责结果集的处理. Statement prepare(Connection connection, Int ...

  10. 一条Sql语句分组排序并且限制显示的数据条数

    如果我想得到这样一个结果集:分组排序,并且每组限定记录集的数量,用一条SQL语句能办到吗? 比如说,我想找出学生期末考试中,每科的前3名,并按成绩排序,只用一条SQL语句,该怎么写? 表[TScore ...

随机推荐

  1. poj 2777

    题意:两个操作:c l r x   l到r之间的颜色变成x q l r      询问l到r有多少种颜色 思路:记一个整数表示哪种颜色是否取了 这里真的是煞笔了,看到这一题第一直觉是异或,但是A^A= ...

  2. ubuntu 下创建桌面快捷方式

    1)新建文件eclipse.desktop,命令如下: sudo vim /usr/share/applications/eclipse.desktop 2)在新建文件中添加如下内容并保存: [Des ...

  3. MySQLdb 1031 Error

    Python import MySQLdb 有可能报:site-packages/pkg_resources.py:1031: UserWarning: /home/***/.python-eggs ...

  4. NuSOAP与PHPRPC比较(转)

    因为看到有人问 Nusoap 和 PHPRPC 的比较,为了让大家能够更清楚地了解 Nusoap 和 PHPRPC 的关系,所以在这里做一个简要的说明性介绍,所写的内容也不是面面俱到的,只写了一些主要 ...

  5. 64位 ubuntu android studio gradle 权限不够 缺少文件和权限导致

    安装 32位  库文件 sudo apt-get install lib32z1 给文件夹加权限 chmod 777 -R SDK chmod 777 -R android-studio -R表示所有 ...

  6. 网站后台调用winform MessageLoopApartment

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  7. iOS求职之OC面试题

    1.Objective-C的类可以多重继承么?可以采用多个协议么? 答:不可以多重继承,可以采用多个协议. 2.#import和#include的区别是什么?#import<> 跟 #im ...

  8. 运用Fluxion高效破解WiFi密码

    Fluxion是一个无线破解工具,这个工具有点像是Linset的翻版.但是与Linset比较起来,它有着更多有趣的功能.目前这个工具在Kali Linux上可以完美运行. 工作原理 1.扫描能够接收到 ...

  9. angular插件合集

    图片视频类 angular-maxonry 图片墙效果插件,可以将图片组织成类似于瀑布流的效果,依赖于jQuery.imageloaded和Masonry angular-deckgrid 另一个照片 ...

  10. 【转】Styling And Animating SVGs With CSS

    原文转自:http://www.smashingmagazine.com/2014/11/03/styling-and-animating-svgs-with-css/?utm_source=CSS- ...