两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

Dotcpp  >  編程題庫  >  數據結構-行編輯程序
題目 1681:

數據結構-行編輯程序

時間限制: 2s 內存限制: 96MB 提交: 794 解決: 283

題目描述

      一個簡單的行編輯程序的功能是:接收用戶從終端輸入的程序或數據,并存入用戶的數據區(qū)。由于用戶在終端上進行輸入時,不能保證不出差錯,因此,若在編輯程序中,“每接收一個字符即存入用戶數據區(qū)”的做法顯然不是很恰當。較好的做法是,設立一個輸入緩沖區(qū),用以接收用戶輸入的一行字符,然后逐行存入用戶數據區(qū)。允許用戶輸入出差錯,并在發(fā)現有誤時可以及時更正。例如,當用戶發(fā)現剛剛鍵入的一個字符是錯的時,可補進一個退格符“#”,以表示前一個字符無效;如果發(fā)現當前鍵入的行內錯誤較多或難以補救,則可以鍵入一個退行符“@”,以表示當前行中的字符均無效。例如假設從終端接收了這樣的兩行字符:
whil##ilr#e(s#*s)
    outcha@    putchar(*s=#++);
則實際有效的是下列兩行:
while(*s)
    putchar(*s++);

      為此,可設這個輸入緩沖區(qū)為一個棧結構,每當從終端接收了一個字符之后先作如下判別:如果它不是退格符也不是退行符,則將該字符壓入棧頂;如果是一個退格符,則從棧頂刪去一個字符;如果它是一個退行符,則將字符棧清為空棧。上述處理過程可用下面算法描述之:

行編輯程序算法

圖:行編輯程序算法

輸入格式

若干行程序或者數據,每行不超過200個字符。

輸出格式

經過行編輯程序處理過后的輸出。

樣例輸入

whil##ilr#e(s#*s)
	outcha@	putchar(*s=#++);

樣例輸出

while(*s)
	putchar(*s++);

提示

零基礎同學可以先學習視頻課程,包含C/C++、Python、百練、藍橋杯輔導、算法數據結構等課程,提供視頻講解以及配套習題,還有老師答疑,點擊這里了解課程詳情
標簽

通過率

統(tǒng) 計