CC2. 复制部分字符串
描述
键盘输入一个长度为len(1 <= len < 30)的字符串,再输入一个正整数 m(1 <= m <= len),将此字符串中从第 m 个字符开始的剩余全部字符复制成为另一个字符串,并将这个新字符串输出。要求用指针处理字符串。输入描述
键盘输入一个长度为len(1 <= len < 30)的字符串,再输入一个正整数 m(1 <= m <= len)输出描述
输出复制的新字符串示例1
输入:
helloworld 6
输出:
world
C++ 解法, 执行用时: 2ms, 内存消耗: 384KB, 提交时间: 2021-12-19
#include <iostream> using namespace std; int main() { char str[30] = { 0 }; cin.getline(str, sizeof(str)); int m; cin >> m; // write your code here...... char s[30] = {0}; int len=0; while(str[m-1]!='\0'){ s[len++]=str[m-1]; m++; } s[len]='\0'; cout<<s<<endl; return 0; }
C++ 解法, 执行用时: 2ms, 内存消耗: 388KB, 提交时间: 2021-12-05
#include <iostream> using namespace std; int main() { char str[30] = { 0 }; cin.getline(str, sizeof(str)); int m; cin >> m; // write your code here...... char *p=str+m-1; while(*p!=0) { cout<<*p; p++; } return 0; }
C++ 解法, 执行用时: 2ms, 内存消耗: 396KB, 提交时间: 2021-12-10
#include <iostream> using namespace std; int main() { char str[30] = { 0 }; cin.getline(str, sizeof(str)); int m; cin >> m; // write your code here...... char s[30] = {0}; char *q=str; char *p=s; for(int i=0;i<m-1;i++){ q++; } while((*q)!='\0'){ *p = *q; p++; q++; } *p = '\0'; cout<<s<<endl; return 0; }
C++ 解法, 执行用时: 2ms, 内存消耗: 396KB, 提交时间: 2021-11-30
#include <iostream> using namespace std; int main() { char str[30] = { 0 }; cin.getline(str, sizeof(str)); int m; cin >> m; // write your code here...... char* p = str+(m-1); while(*p!='\0') { cout << *p ; p++; } return 0; }
C++ 解法, 执行用时: 2ms, 内存消耗: 396KB, 提交时间: 2021-11-22
#include <iostream> using namespace std; int main() { char str[30] = { 0 }; cin.getline(str, sizeof(str)); int m; cin >> m; // write your code here...... int i = 0; char res[30] = {0}; char *c = &str[m - 1]; while (*c != '\0') { res[i++] = *c; ++c; } printf("%s", res); return 0; }