首页 > B站的这道笔试题全!是!梗!
头像
Discriminate
编辑于 2020-11-26 19:18
+ 关注

B站的这道笔试题全!是!梗!

今天逛牛客突然看到一道B站的编程题,题目就把我吸引到了叫:脸滚键盘。
那我作为B站老用户了,到底看看怎么个滚法,结果梗一个接着一个。。。。

卧槽嘞,这个视频我在B站看过,我就是叫紫妈怎么了

B站真有你的,我也想叫紫妈,我也想脸滚键盘(滑稽)
这还不算什么,接下来看到的让我笑疯了🤣,题干给出了几个例子

看一下第一个例子,好像也就是一串英文字符串,但是我越看我的DNA动的越厉害,然后我居然试着拼出来
mi sa ka mi ko to ~~~ Misaka Mikoto
等等~~~这不是御坂美琴的全拼吗?
卧槽嘞,把镇站之宝炮姐整出来了可还行,B站真有你的。
然后后面的 dai su ki,作为一个老二次元了,这是最喜欢的意思
连起来就是,最喜欢御坂美琴啦~~~!.
公开表白炮姐,hhhhh.

接下来看第三行,直接整出来个圆周率可还行,来来来,B站研发老哥,你来用脸给我滚出个圆周率出来我看看。
第四行最NM离谱,这明显是个投稿连接,我打开一下整个人裂开了。。。
保加利亚妖王给爷整出来了!!!

弹幕都是 我XXX就好这口。XXX注意身体啊。
B站真有你的
吐槽完了,突然想到这是一道题啊,附上代码吧。😃🤣🤣
#include "string.h"
#include <stdio.h>
/*每个输入都有若干行,每行的第一个数字为`k`,表示求第`k`个仅出现一次的字。
然后间隔一个半角空格,之后直到行尾的所有字符表示大小姐滚出的字符串`S`。*/
void func(char *a)
{
    int num;
    sscanf(a,"%d",&num); //获得数字

    int an[130]={0};
    int len=strlen(a),i,j,k=0,z=0,p;
    char b[130]={0};
    for (i=0;i<len;i++) //找到第一个空格位置,P是真正的字符串
    {
        if (a[i]==' ')
        {
         p=i+1;
         break;
        }
    }
    for (i=p;i<len;i++) //计算出现的字符对应的数量
    {
        an[a[i]]++;
    }
    for (i=0;i<130;i++)//找出所有出现一次的字符,放到b里
    {
        if (an[i]==1)
        {
            b[k++]=i;
        }

    }
    b[k]='\0';
    for (i=p;i<len;i++) //找到第num个仅出现一次的字符
    {
        for (j=0;j<k;j++)
            {
              if (a[i]==b[j])
              {
                z++;
                if (z==num)
                {
                 printf("[%c]\r\n",a[i]);//输出
                 return;//退出
                }
              }
            }
    }
    printf("Myon~\r\n");//无满足要求的输出形式
    return;
}


int main ()
{
    char str[100000];
    while(gets(str)!=NULL)
    {
        func(str);
    }

}

当然了,输入也可以分两步:
    while(scanf("%d",&num)!=EOF)
    {
        gets(str);
        func(str,num);
    }
然后将func函数里的p去掉,后续for循环用到的p改成1就行了。
最后,B站真有你的.















全部评论

(5) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐