国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

P1098 字符串展開

2019-11-14 11:04:53
字體:
供稿:網(wǎng)友

題目描述

在輸入的字符串中,用連續(xù)遞增的字母獲數(shù)字串替代其中的減號(hào)。(1)出現(xiàn)了減號(hào)“-”,減號(hào)兩側(cè)同為小寫字母或數(shù)字,且按照ASCII碼的順序,減號(hào)右邊的字符大于左邊的字符。(2) p1=1時(shí),填充小寫字母;p1=2時(shí),填充大寫字母。p1=3時(shí),填充的字母?jìng)€(gè)數(shù)相同的星號(hào)“*”。(3) p2=k表示同一個(gè)字符要連續(xù)填充k個(gè)。(4) p3=1表示維持原來順序,p3=2表示采用逆序輸出。(5) 如果減號(hào)右邊的字符恰好是左邊字符的后繼,只刪除中間的減號(hào)。如果減號(hào)右邊的字符按照ASCII碼的順序小于或等于左邊字符,輸出時(shí),要保留中間的減號(hào)。

樣例輸入

1 2 1abcs-w1234-9s-4zz

樣例輸出

abcsttuuvvw1234556677889s-4zz

思路

O(n)模擬,判斷每種情況,按題意模擬。var a,b,c:longint; s:string;PRocedure main(p:longint);var i,j:longint;begin if s[p+1]<=s[p-1] then write('-') else if c=1 then for i:=(ord(s[p-1])+1) to (ord(s[p+1])-1) do for j:=1 to b do if a=3 then write('*') else if (s[p-1]>='a')and(s[p-1]<='z')and(a=2) then write(upcase(chr(i))) else write(chr(i)) else for i:=(ord(s[p+1])-1) downto (ord(s[p-1])+1) do for j:=1 to b do if a=3 then write('*') else if (s[p-1]>='a')and(s[p-1]<='z')and(a=2) then write(upcase(chr(i))) else write(chr(i));end;var i:longint;begin readln(a,b,c); readln(s); write(s[1]); for i:=2 to length(s)-1 do if s[i]<>'-' then write(s[i]) else if ((s[i-1]>='0')and(s[i-1]<='9')and(s[i+1]>='0')and(s[i+1]<='9'))or((s[i-1]>='a')and(s[i-1]<='z')and(s[i+1]<='a')and(s[i+1]>='z')) then main(i) else write(s[i]); writeln(s[length(s)]);end.
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁安市| 苏州市| 南安市| 鄱阳县| 余干县| 平湖市| 集安市| 新巴尔虎右旗| 禹州市| 辽宁省| 兴城市| 天镇县| 阳信县| 高青县| 正宁县| 上饶市| 两当县| 灵丘县| 铁力市| 和田县| 威宁| 靖宇县| 绿春县| 梓潼县| 西吉县| 嘉黎县| 汕头市| 曲阜市| 肇源县| 萨迦县| 宜兴市| 延川县| 张家口市| 海林市| 牡丹江市| 石柱| 乌鲁木齐县| 方城县| 武山县| 西和县| 上林县|