学英语

截取字符串

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;
}


全部评论

相关推荐

不愿透露姓名的神秘牛友
09-26 20:06
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务