这个delphi的while循环语句怎样写?

从数字K到N的累加和,即若K为2,N为5,则程序代表2+3+4+5是14。要求1.只能用while语句2.中间应该用到IF语句以判断K和N哪个大的情况感谢EastMagi... 从数字K到N的累加和,即若K为2,N为5,则程序代表2+3+4+5是14。要求
1.只能用while语句
2.中间应该用到IF语句以判断K和N哪个大的情况
感谢EastMagician,但回答不完整。就是当K<N时以及当K>N时两种情况,而实际只回答了前一种。我尝试加写后一种,但没有成功:
function TForm1.GetNum(iBeg,iEnd:integer):integer;
var
Num:integer;
begin
num:=0;
if iBeg<iEnd then //
while iBeg <= iEnd do
begin
Num:=Num + iBeg;
iBeg:=iBeg + 1;
Result:=Num
end
else//当开始数大于结尾数
while iEnd<=iBeg do
begin
Num:=Num + iEnd;
iEnd:=iEnd + 1;
Result:=Num;
end;
end;//结果是当开始数小于结尾数,能正确显示结果,但当结尾数小于开始数时,就出现问题。请高手指点
展开
 我来答
EastMagician
推荐于2016-08-07 · 超过13用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:34.8万
展开全部
function GetNum(iBeg,iEnd:integer):ingteger;
var
Num:integer;
begin
if iBeg > iEnd then //iBeg iEnd互换
begin
Num:= iBeg;
iBeg:= iEnd;
iEnd:= Num;
Num:= 0;
end;
while iBeg <= iEnd do
begin
Num:=Num + iBeg;
iBeg:=iBeg + 1;
end;
Result:=Num;
end;

你要非喜欢用if就
function GetNum(iBeg,iEnd:integer):ingteger;
var
Num:integer;
begin
while 1 = 1 do //死循环
begin
Num:=Num + iBeg;
iBeg:=iBeg + 1;
if iBeg > iEnd then break; //符合条件打断
end;
Result:=Num;
end;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
盈庆充牧歌
2019-08-25 · TA获得超过3909个赞
知道小有建树答主
回答量:3099
采纳率:26%
帮助的人:203万
展开全部
function
GetNum(iBeg,iEnd:integer):ingteger;
var
Num:integer;
begin
if
iBeg
>
iEnd
then
//iBeg
iEnd互换
begin
Num:=
iBeg;
iBeg:=
iEnd;
iEnd:=
Num;
Num:=
0;
end;
while
iBeg
<=
iEnd
do
begin
Num:=Num
+
iBeg;
iBeg:=iBeg
+
1;
end;
Result:=Num;
end;
你要非喜欢用if就
function
GetNum(iBeg,iEnd:integer):ingteger;
var
Num:integer;
begin
while
1
=
1
do
//死循环
begin
Num:=Num
+
iBeg;
iBeg:=iBeg
+
1;
if
iBeg
>
iEnd
then
break;
//符合条件打断
end;
Result:=Num;
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式