设计一个计算1+2+3+...+100的值的算法,要求使用当性循环结构
- 教育综合
- 2023-12-21 07:57:12
写出计算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利用两种循环写出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循环