日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

算法训练 字符串编辑c语言

發布時間:2024/1/23 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 算法训练 字符串编辑c语言 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

算法訓練 字符串編輯
時間限制:1.0s 內存限制:512.0MB

問題描述
  從鍵盤輸入一個字符串(長度<=40個字符),并以字符 ’.’ 結束。編輯功能有:
  1 D:刪除一個字符,命令的方式為: D a 其中a為被刪除的字符,例如:D s 表示刪除字符 ’s’ ,若字符串中有多個 ‘s’,則刪除第一次出現的。
  2 I:插入一個字符,命令的格式為:I a1 a2 其中a1表示插入到指定字符前面,a2表示將要插入的字符。例如:I s d 表示在指定字符 ’s’ 的前面插入字符 ‘d’ ,若原串中有多個 ‘s’ ,則插入在最后一個字符的前面。
  3 R:替換一個字符,命令格式為:R a1 a2 其中a1為被替換的字符,a2為替換的字符,若在原串中有多個a1則應全部替換。
  在編輯過程中,若出現被改的字符不存在時,則給出提示信息。
輸入格式
  輸入共兩行,第一行為原串(以’.’結束),第二行為命令(輸入方式參見“問題描述” 。
輸出格式
  輸出共一行,為修改后的字符串或輸出指定字符不存在的提示信息。
樣例輸入
This is a book.
D s
樣例輸出
Thi is a book.
輸入輸出樣例解釋
  命令為刪去s,第一個在字符中出現的s在This中,即得到結果。

#include<stdio.h> #include<string.h> #define N 30int main() {char str[N];char keys[5];char key;char a;char b;int i;int len;gets(str);//scanfgets(keys);len=strlen(str);key=keys[0];if(key == 'D'|| key == 'd'){a=keys[2];}else{a=keys[2];b=keys[4];}if(key == 'D' || key == 'd') //刪除{int temp=0;for(i=0;i<len;i++){if(temp==0 && str[i]==a){temp=1;}else{printf("%c",str[i]);}}}else if(key == 'I' || key == 'i') //插入{int num=0;for(i=0;i<len;i++){if(str[i]==a){num=i;}}for(i=0;i<len;i++){if(i==num){printf("%c",b);}printf("%c",str[i]);}}else{ //替換for(i=0;i<len;i++){if(str[i]==a){str[i]=b;}printf("%c",str[i]);}}printf("\n");return 0; }

總結

以上是生活随笔為你收集整理的算法训练 字符串编辑c语言的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。