作业帮 > 综合 > 作业

Free Pascal 如何求出一个数组中的有效元素个数 难道高精度计算一般要转成字符型来求数的长度?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/02 17:42:12
Free Pascal 如何求出一个数组中的有效元素个数 难道高精度计算一般要转成字符型来求数的长度?
如a:(0,0,0,0,1,0,1)那么这个数是101 有效位数就是3位
如果有这么一个函数就好了……
求具体程序
从前往后找第一个非0元素,从后往前找一个非0元素,其间距离就是有效位长度.(Pascal中数组最多只能开1000000(也许比这个数小),不会超时)
program t;
var i,j,k:longint;
a:array[1..200]of longint;
begin
while not eof do
begin
i:=i+1;
read(a[i]);
end;
j:=1;k:=i;
while (a[j]=0)and(j0) do k:=k-1;
write(k-j+1);
end.
再问: 如a:(0,0,0,1,1,0,0)那么有效元素也应该是1100……
再答: 额,题目中有说吗,那就只要从右往左找第一个非0元素,其长度就是i-j+1;