UVA-10115 Automatic Editing
来源:互联网 发布:apache weblogic 插件 编辑:程序博客网 时间:2024/06/01 08:53
2016-07-12
UVA - 10115 Automatic Editing
题目大意:根据给出的替换规则替换字符串,要按照规则顺序,整个字符串都找不到后才能进行下一个规则。
解题思路:通过strstr与strncpy的互相结合,将字符串进行分割,运用strcpy与strcat对结果进行拼接。
这题是对strstr与strncpy的初步认识,后面有一题需要对strstr与strncpy熟练掌握。例:UVA-10361 Automatic Poetry
#include <iostream>#include <string.h>#include <cstdio>using namespace std;int main () { int rule_num; while ( cin >> rule_num && rule_num != 0 ) { getchar(); char rule[10000][10000]; for (int i = 0; i < rule_num*2; i++) gets(rule[i]); char str[1000]; gets(str); char nstr[1000]; strcpy( nstr , str ); for (int i = 0; i < rule_num*2; i += 2) while ( strstr( nstr , rule[i] ) != NULL) { char f[1000]; memset( f , '\0' , sizeof(f) ); strncpy( f , nstr , strstr(nstr,rule[i])-nstr );//将字符串在规则前的部分储存在f数组中 char b[1000]; memset( b , '\0' , sizeof(b) ); strncpy( b , strstr(nstr,rule[i])+strlen(rule[i]) , strlen(nstr) - (strstr(nstr,rule[i])-nstr) - strlen(rule[i]) );//将字符串在规则后的部分储存再b数组中 strcpy( nstr , f ); strcat( nstr , rule[i+1] ); strcat( nstr , b ); } cout << nstr << endl; } return 0;}
1 0
- UVa 10115 Automatic Editing
- uva 10115 Automatic Editing
- UVa 10115 - Automatic Editing
- UVa 10115 - Automatic Editing
- uva-10115 - Automatic Editing
- UVa 10115 - Automatic Editing
- UVA 10115 - Automatic Editing
- UVa 10115 - Automatic Editing
- UVa 10115 - Automatic Editing
- UVA 10115 Automatic Editing
- uva 10115 - Automatic Editing
- UVA 10115 Automatic Editing
- uva 10115 Automatic Editing
- uva 10115 automatic editing
- uva - 10115 - Automatic Editing
- UVa 10115 - Automatic Editing
- UVA 10115 Automatic Editing
- UVa 10115 Automatic Editing
- 安卓微信支付遇到的问题及解决办法
- oracle基础教程:数据库的范式
- 字符串和数字相互转换
- x265 2.0版本更新
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- UVA-10115 Automatic Editing
- 跨平台之AppCan与DeviceOne对比点评记录
- STL的东西好多好杂呀~
- Java序列化与反序列化
- 测试Linux下socket每次发送数据和接受数据的最大值
- oc与h5交互
- WordPress调用函数大全
- JNI层线程回调Java函数示例
- 关于datetime 和 int 之间相互转换