九度OJ 1177:查找 (字符串操作)
生活随笔
收集整理的這篇文章主要介紹了
九度OJ 1177:查找 (字符串操作)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
時間限制:1 秒
內存限制:32 兆
特殊判題:否
提交:6729
解決:1981
題目描述:? ? 讀入一組字符串(待操作的),再讀入一個int n記錄記下來有幾條命令,總共有2中命令:1、翻轉? 從下標為i的字符開始到i+len-1之間的字符串倒序;2、替換? 命中如果第一位為1,用命令的第四位開始到最后的字符串替換原讀入的字符串下標 i 到 i+len-1的字符串。每次執行一條命令后新的字符串代替舊的字符串(即下一條命令在作用在得到的新字符串上)。
? ? 命令格式:第一位0代表翻轉,1代表替換;第二位代表待操作的字符串的起始下標int i;第三位表示需要操作的字符串長度int len。
輸入有多組數據。
每組輸入一個字符串(不大于100)然后輸入n,再輸入n條指令(指令一定有效)。
根據指令對字符串操作后輸出結果。
思路:
字符串的各種操作,翻轉、替換等。注意細節。
代碼:
#include <stdio.h> #include <string.h>#define N 1000void swap(char *a, char *b) {char tmp;tmp = *a;*a = *b;*b = tmp; }int main(void) {int n, i, j;int begin, len;char s[N], c[N], tmp[N];while (scanf("%s", s) != EOF){scanf("%d", &n);for (i=0; i<n; i++){scanf("%s", c);begin = c[1]-'0';len = c[2]-'0';if (c[0] == '0'){char t;int k;for(k=begin,j=begin+len-1;k<j;k++,j--){t=s[k];s[k]=s[j];s[j]=t;}}else{strcpy(tmp, s+begin+len);strcpy(s+begin, c+3);strcat(s, tmp);//for(j=begin;j<begin+len;j++)// s[j]=c[j-begin+3];}printf("%s\n", s);}}return 0; } /**************************************************************Problem: 1177User: liangrx06Language: CResult: AcceptedTime:0 msMemory:912 kb ****************************************************************/轉載于:https://www.cnblogs.com/liangrx06/p/5083850.html
總結
以上是生活随笔為你收集整理的九度OJ 1177:查找 (字符串操作)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 付费就是捡便宜
- 下一篇: 从自动化到智能化,网易杭研的AIOps探