@[TOC](【15分】F. 截取字符串(函数))
题目描述
编写一个函数int substr(char str1[],char str2[],int index),其作用是,将从字符串str1 (长度超过30) 的第index个字符开始的所有字符复制,生成新的字符串str2,如果成功生成,函数返回1,如果不能成功生成,返回0
输入
测试数据的组数n
第一组数据
第二组数据
…
输出
成功生成就输出子串,不成功生成,输出"IndexError"
输入样例1
3
Zhenshen University
9
www.szu.edu.cn
12
apple
8
输出样例1
University
cn
IndexError
代码
#include <iostream>
#include <cstring>
using namespace std;
int substr(char str1[],char str2[],int index)
{
int len = strlen(str1);
if(index < 0 || index >= len) return -1;
for(int i = 0;i < len - index;i ++) *(str2 + i) = *(str1 + i + index);
*(str2 + len - index) = '\0';
return 0;
}
int main()
{
int t;
cin >> t;
while(t --)
{
int num;
char str1[100],str2[100];
getchar();
cin.getline(str1,100);
cin >> num;
if(substr(str1,str2,num) == -1) cout << "IndexError" << endl;
else cout << str2 << endl;
}
return 0;
}