学英语
截取字符串
https://www.nowcoder.com/practice/a30bbc1a0aca4c27b86dd88868de4a4a?tpId=37&&tqId=21269&rp=1&ru=/ta/huawei&qru=/ta/huawei/question-ranking
题意:多组输入,输入一个字符串,再输入一个截取的字符串的长度k,输出截取后的字符串,即字符串的前k个字符
1.循环输出
由题意得我们只需要截取的前k个字符,那我们循环k次,输出要的字符即可
#include<bits/stdc++.h>
using namespace std;
int main() {
char str[105];
int k;
while(scanf("%s",str) != EOF) {
scanf("%d",&k);
for(int i = 0 ; i < k ; i++) {
printf("%c",str[i]);
}
printf("\n");
}
return 0;
}
2.利用字符串末尾是\0
因为C/C++里面字符串的定义是以\0结尾,当以字符串输出的时候,检查到第一个\0后,后面的字符将不会输出,那我们可以直接将第k+1个字符置为\0,然后再以字符串输出即可
#include<bits/stdc++.h>
using namespace std;
int main() {
char str[105];
int k;
while(scanf("%s",str) != EOF) {
scanf("%d",&k);
str[k] = '\0';
printf("%s\n", str);
}
return 0;
}
阿里云工作强度 600人发布
查看8道真题和解析