当前位置:首页 > 教育综合 > 正文

设计一个计算1+2+3+...+100的值的算法,要求使用当性循环结构

写出计算1+2+3+…+100的值的算法语句.(要求用循环结构

方法一:用UNTIL语句编写计算1+2+3+…100的程序:
S=0
i=1
WHILE i<=100
S=S+i
i=i+1
WEND
PRINT S
方法二:用Do Loop语句编写计算1+2+3+…100的程序:
S=0
i=1
Do
S=S+i
i=i+1
LoopUNTIL i>100
PRINT

设计一个算法求1+2+3+......100的算法,要求使用循环结构

#include main(){ int m,sum=0; for(m=1;m<=100;m++) { sum+=m; } printf("1到100的和是:%d\n",sum); }

利用两种循环写出1+2+3+…+100的算法,并画出各自的流程图

直到型循环算法:

第一步:S←0;

第二步:I←1;

第三步:S←S+I;

第四步:I←I+1;

第五步:如果I不大于100,转第三步;否则,输出S。相应的流程图如图甲所示.当型循环算法如

下:S1令i←1,S←0S2 。

当型循环算法如下:

S1 令i←1,S←0

S2 若i≤100成立,则执行S3;否则,输出S,结束算法

S3 S←S+i

S4 i←i+1,返回S2

相应的流程图如图乙所示。

扩展资料

从1开始递增依次与从100开始递减、将两个数进行相加配对、有50组为101的数。

1+100=101,2+99=101······50+51=101。从1加到100有50组这样的数,所以50X101=5050。

等差数列求和公式:(1+100)*100/2=5050

使用循环计算1-2+3-4+5……100的值、c语言

你上面的代码错在:

1、 如果i初值是0,循环100次 应该条件i<100

2、你定义了flag变量,我想你的意思肯定是想用这个标识变量来实现+-交替,但你没有在执行过程中改变flag的值,它始终是1,没起作用。

我写你要的3个方法,其中while就是模仿你的写法写的。你参考吧

#include
voiduseWhile(intn)//这个while我是仿造你的写法写的,你看看吧
{
inti=0,flag=1,sum=0;
while(i{
i++;
if(flag==1)
{
sum+=i;
flag=0;
}
else
{
sum-=i;
flag=1;
}
}
printf("使用while,sum=%d\n",sum);
}
voiduseFor(intn)
{
inti=0,flag=1,sum=0;
for(i=0;i{
if(flag==1)
{
sum+=i+1;
flag=0;
}
else
{
sum-=i+1;
flag=1;
}
}
printf("使用for,sum=%d\n",sum);
}
voiduseDoWhile(intn)
{
inti=0,flag=1,sum=0;
do//和while不一样的是,这里第一次肯定会执行,即使n是0
{
i++;
if(flag==1)
{
sum+=i;
flag=0;
}
else
{
sum-=i;
flag=1;
}
}while(iprintf("使用dowhile,sum=%d\n",sum);
}
intmain()
{
intn=100;
useWhile(n);
useFor(n);
useDoWhile(n);
return0;
}

C语言程序编写 计算表达式 1 + 2 + 3 + ...... + 100的值。

C语言程序编写 计算表达式 1 + 2 + 3 + ...... + 100的值可以参考下面的代码:

#include

voidmain(){inti,s;

for(i=1,s=0;i<=100;i++)s+=i;

printf("sum=%d\n",s);

}

扩展资料:

1、for循环最简形式为:for( ; ; )

2、for循环一般形式为:

for(单次表达式;条件表达式;末尾循环体)

{

中间循环体;

}

其中,表示式皆可以省略,但分号不可省略,因为“;”可以代表一个空语句,省略了之后语句减少,即为语句格式发生变化,则编译器不能识别而无法进行编译。for循环小括号里第一个“;”号前为一个为不参与循环的单次表达式。

参考资料来源:百度百科-for循环

展开全文阅读

上一篇
谢谢大家来解答

下一篇
返回列表