利用do_whilevb do while 语句用法计算1+1/2

共有 660 人关注过本帖
标题:菜鸟一名 想请教一下DO WHILE语句的运用
等 级:新手上路
&&已结贴√
&&问题点数:5&&回复次数:14&&&
菜鸟一名 想请教一下DO WHILE语句的运用
DO WHLE A&=6
DO WHILE B&A
IF A/B=INT(A/B)
程序运行的结果是____________
答案给的是 3&&5
然而我只能得出3。。。
判定a≤6的真假【很显然3小于等于6】
&&& 【进入下一个DO WHILE】
&&&&&&判定b<a真假【2<3,判定为真,继续执行 】
&&&&&&如果a/b=int(a/b)【3/2
并不等于1】&&&
&&&&&&那么就执行exit【不符合这个条件 继续向下走】endif
&&&&&& b=b+1【现在b等于3了】
&&&&&&endDO【这个是判定b<a的DOWHILE 的一部分对吧?】
&&&&&& 【返回去重新判定b是否小于a,此时b=3 ,a也等于3,判定条件为假。执行endDO后面的语句。】
&&如果a等于b【符合条件】
&&显示a的值【输出3】
&&a等于a加1【此时a为4】
endDO【这个是a≤6的一部分对吧?】
【此时回到第一个DOWHILE 判定a≤6的真假 此时a为4 条件语句为真】
判定b<a的真假【此时a为4&&b为2 为真】
如果a/b=int(a/b)【此时是符合的!两边的值都为2】
那么问题来了 5是从哪来的?
等 级:新手上路
有人吗。。。
等 级:贵宾
威 望:56
帖 子:1387
专家分:2856
答案是正确的,你再把A等于5的情形做一遍。
等 级:新手上路
回复 3楼 taifu945
可是到a为4,b为2的时候就跳出了呀。。。怎么会有5呢?(⊙_⊙?)
等 级:版主
威 望:34
帖 子:1164
专家分:2556
当A=3时,B&A,那么B为[2],A/B=INT(A/B),不会出现成立,执行B=B+1,此时B=2+1,A=B,输出 ??A
当A=4时,B&A,那么B为[2,3],A/B=INT(A/B),会出现成立,退出,B=B+1不执行,此时B=2
当A=5时,B&A,那么B为[2,3,4],A/B=INT(A/B),不会出现成立,执行B=B+1,此时B=4+1,A=B,输出 ??A
当A=6时,B&A,那么B为[2,3,4,5],A/B=INT(A/B),会出现成立,退出,不执行B=B+1,此时B=2
[此贴子已经被作者于 11:15编辑过]
等 级:版主
威 望:34
帖 子:1164
专家分:2556
回复 4楼 孤灯泰坦
他跳出的是第2个 DO
DO WHILE A&=6 &&第1个DO
&&&DO WHILE B&A &&第2个DO
&&&&&&......
&&&&&&EXIT&&&&只能跳出第2个DO
&&&&&&......
所以A的值会从3到6
等 级:版主
威 望:125
帖 子:6128
专家分:13436
DO WHILE ... ENDDO 命令
示例 请参阅
在一个条件循环里执行一组命令。
DO WHILE lExpression
lExpression
指定一个逻辑表达式,它的值决定是否执行 DO WHILE 和 ENDDO 之间的命令集。如果 lExpression 计算为“真”(.T.),就执行命令集。
指定当 lExpression 计算为“真”(.T.)时,要执行的 Visual FoxPro 命令集。
直接将程序控制返回到 DO WHILE。LOOP 可放在 DO WHILE 和 ENDDO 间的任何位置。
将程序控制从 DO WHILE 循环的内部转到 ENDDO 后的第一个命令。
EXIT 可放在 DO WHILE 和 ENDDO 间的任何位置。
表明 DO 语句的结束。
只要逻辑表达式 lExpression 为“真”(.T.),就执行位于 DO WHILE 和 ENDDO 间的命令集。每个 DO WHILE 语句必须有一个相应的 ENDDO 语句。
可在 DO WHILE 和 ENDDO 之后放注释。在程序编译和执行期间忽略注释。
DO WHILE ... ENDDO 命令示例
在下面的示例中,DO WHILE 循环统计仓库中价格高于 20 美元的产品数量,遇到文件结束符 (EOF) 时,退出 DO WHILE 循环并显示总数。
CLOSE DATABASES
OPEN DATABASE (HOME( ) + 'samples\data\testdata')
USE products && 打开 Products 表
SET TALK OFF
gnStockTot = 0
DO WHILE .T. 可在此加注释
IF unit_price & 20
gnStockTot = gnStockTot + in_stock
ENDDO 或在此加注释
? 'Total items in stock valued over 20 dollars:'
?? gnStockTot
等 级:版主
威 望:125
帖 子:6128
专家分:13436
不上机操作是没用的,纸上谈兵是浪费大家的时间了。
等 级:贵宾
威 望:56
帖 子:1387
专家分:2856
以下是引用孤灯泰坦在 10:20:55的发言:
可是到a为4,b为2的时候就跳出了呀。。。怎么会有5呢?(⊙_⊙?)我觉得你应该先搞清楚两个要点:1、两个ENDDO分别对应的是哪两个DO WHILE;2、EXIT是仅退出它所在的那个循环,而不是退出所有循环。根据这一点,你看一下此题中的EXIT到底应该退出的是哪个DO WHILE...ENDDO语句块。延伸一下:与之相同的还有LOOP。
等 级:新手上路
回复 5楼 mywisdom88
谢谢 谢谢 帮大忙了
那个...道理我懂了 不过“B为[2,3,4,5]”是什么意思....
[此贴子已经被作者于 19:37编辑过]
版权所有,并保留所有权利。
Powered by , Processed in 0.044631 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved分别用 while,do while 和for 循环计算1+2+……+100的和.
//用whileint i=1,sum=0;while(i
为您推荐:
其他类似问题
扫描下载二维码当前位置:
>>>下面是利用UNTIL循环设计的计算1×3×5×…×99的一个算法程序.S=1i=1..
下面是利用UNTIL循环设计的计算1×3×5×…×99的一个算法程序.S=1i=1DO______i=i+2LOOP&&UNTIL______PRINT&SEND(Ⅰ)请将其补充完整,并转化为WHILE循环;(Ⅱ)绘制出该算法的流程图.
题型:解答题难度:中档来源:不详
(I)由已知条件,设计的计算1×3×5×…×99的一个算法程序知,①处应为累乘的形式,即S=S*i,②处应为循环终止条件,故判断框内的条件可为:i>99.转化为WHILE循环语句如下:S=1i=1WHILE i≤99i=i+2WEND PRINT&SEND故答案为:①S=S*i;②i>99.(II)流程图如图所示.
马上分享给同学
据魔方格专家权威分析,试题“下面是利用UNTIL循环设计的计算1×3×5×…×99的一个算法程序.S=1i=1..”主要考查你对&&流程图&&等考点的理解。关于这些考点的“档案”如下:
现在没空?点击收藏,以后再看。
因为篇幅有限,只列出部分考点,详细请访问。
流程图的定义:
流程图又称程序框图,是一种用程序框、流程线及文字说明来表示算法的图形;流程图的特点:
流程图表示一个动态过程,通常会有一个“起点”,一个或多个“终点”.程序框图是流程图的一种.流程图可以直观、明确地表示动态过程从开始到结束的全部步骤.它是由图形符号和文字说明构成的图示.
程序框图的构成:
一个程序框图包括以下几部分:实现不同算法功能的相对应的程序框;带箭头的流程线;程序框内必要的说明文字。
设计程序框图的步骤:
第一步,用自然语言表述算法步骤;第二步,确定每一个算法步骤所包含的逻辑结构,并用相应的程序框图表示,得到该步骤的程序框图;第三步,将所有步骤的程序框图用流程线连接起来,并加上终端框,得到表示整个算法的程序框图。
几种重要的结构:
顺序结构、条件结构、循环结构。
发现相似题
与“下面是利用UNTIL循环设计的计算1×3×5×…×99的一个算法程序.S=1i=1..”考查相似的试题有:
342403460600342732332757327603776239君,已阅读到文档的结尾了呢~~
5.1 WHILE语句以及用WHILE语句构成的循环结构5.2 DO-WHILE语句...
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
5.1 WHILE语句以及用WHILE语句构成的循环结构5.2 DO-WHILE语句...
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口1674人阅读
* Copyright (c) 2011, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:樊露露
* 完成日期:2012 年 10 月 29 日
* 版 本 号:v1.0
* 输入描述:无
* 问题描述:计算并输出1+1/2+1/3+...+1/20的结果
* 程序输出: 1+1/2+1/3+...+1/20的结果
* 问题分析:略
* 算法设计:略
#include&iostream&
int main()
sum=sum+double(1.0/(i+1));
while(i&=20);
cout&&&1+1/2+1/3+...+1/20=&&&sum&&
心得体会:学会用double强制整型。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:100921次
积分:2602
积分:2602
排名:第10250名
原创:145篇
评论:129条

我要回帖

更多关于 c do while语句的用法 的文章

 

随机推荐