一个字符串中包含多个分号用pascal语言写一段程序找出居中的分号位置信息
以下是使用Pascal语言编写的程序,用于找出一个字符串中居中的分号位置信息:
program FindSemicolonPosition;
var
str: string;
semicolonPos: array of Integer;
i, middlePos: Integer;
begin
// 输入字符串
Write('请输入一个字符串:');
Readln(str);
// 初始化分号位置数组
SetLength(semicolonPos, 0);
// 找出所有分号的位置
for i := 1 to Length(str) do
begin
if str[i] = ';' then
begin
SetLength(semicolonPos, Length(semicolonPos) + 1);
semicolonPos[Length(semicolonPos) - 1] := i;
end;
end;
// 找出居中的分号位置信息
middlePos := Length(str) div 2 + 1;
for i := 0 to Length(semicolonPos) - 1 do
begin
if semicolonPos[i] = middlePos then
begin
Writeln('居中的分号位置为:', semicolonPos[i]);
Break;
end;
end;
Readln;
end.
程序首先要求用户输入一个字符串,然后使用一个动态数组 semicolonPos 来存储分号的位置信息。接下来,程序遍历字符串中的每个字符,如果遇到分号,则将其位置添加到 semicolonPos 数组中。最后,程序找出居中的分号位置信息,即字符串长度的一半加一的位置,然后在 semicolonPos 数组中查找是否存在该位置,如果存在,则输出居中的分号位置信息。
请注意,此程序只会输出一个居中的分号位置信息,如果字符串中存在多个居中的分号,程序只会输出第一个找到的居中分号位置。如果需要输出所有居中的分号位置信息,可以将程序进行相应修改。
原文地址: https://www.cveoy.top/t/topic/i5Bf 著作权归作者所有。请勿转载和采集!