计算式子的值:s=1+2+3+...+100(编程 pascal语言 for语句)这是我编的:var a,s,i:integer;begins:=0;beginfor i:=1 to 10 do;readln(a);a:=1+i;s:=s+i;end;writeln(s:10)end.
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 07:53:43
计算式子的值:s=1+2+3+...+100(编程 pascal语言 for语句)这是我编的:var a,s,i:integer;begins:=0;beginfor i:=1 to 10 do;readln(a);a:=1+i;s:=s+i;end;writeln(s:10)end.
计算式子的值:s=1+2+3+...+100(编程 pascal语言 for语句)
这是我编的:
var a,s,i:integer;
begin
s:=0;
begin
for i:=1 to 10 do;
readln(a);
a:=1+i;
s:=s+i;
end;
writeln(s:10)
end.
计算式子的值:s=1+2+3+...+100(编程 pascal语言 for语句)这是我编的:var a,s,i:integer;begins:=0;beginfor i:=1 to 10 do;readln(a);a:=1+i;s:=s+i;end;writeln(s:10)end.
program juio;
var
i:integer;
a,s:real;
begin
a:=0;
for i:=1 to 100 do
begin
s:=a+i;
a:=s;
end;
writeln(s:0:0);
readln
end.
你的程序这些地方写的不太恰当:
1、你要输出的是s的值,但是s值可能会非常大,而integer的范围是0~32000出头的整数,万一超过了范围怎么办?所以最好将s定义为real;
2、你把var和后面的一些要定义的内容写在了同一行,这样的习惯不好,万一出错了不好更正,建议写分开;
3、【a:=1+i; s:=s+i;】这个你是想运算是吧?但是应该是将s作为输出,然后呢,以a为0代入,之后再将s每次运算的值赋值给a,这样才能循环;
4、【readln(a);】代表你读取了个a,跟题目有什么关系么?你要计算的是1+..+100的值;
5、for循环是这样的格式:
For := to do
;
For := to do
Begin
;
End;
注意:这里的do后面是不能加分号‘;’的,加分号代表运算终止,但是你的循环是要带下面的条件的,单语句与多语句的写法也不一样,分号是不可以乱加的- -;
6、【S:10】你是要设场宽么?你最后得到的值肯定是整数,s定义是real,为了避免出现科学技术法,你可以这样设置【S:0:0】.前一个分号后的数字代表的是总场宽,但是当场宽满足不了值的表示时,总场宽会被突破,后一个分号是限制小数位的,因为答案是整数,则小数再多也无任何意义,只是看着很乱,于是两个都是0
写的时候仔细点,电脑不像人脑那样聪明,多个分号什么的都是不行的,编译的时候看提示错在哪,错的多了自然也就会了.