第一次线上笔试
第一次线上笔试,因为自学且c++年代久远,所以考试的时候第一没时间了,第二什么都忘记了,浪费了不少时间,最只做出一道题,虽然非常丢人被朋友笑菜,但毕竟是值得纪念的一次,就将还记得的三道题写在博客上(可能我现在写的代码还是错的,欢迎指正呐,比心)
在一串字符串中寻找sangfor的个数:如sahnfgifjotr中有1个sangfor,sanghouytor中有0个sangfor,每一个英文字母只属于一个sangfor,输出字符串中sangfor的数量
题目一
#include<iostream>
#include<string.h>
int main()
{
string str ;
cin>>str;
string str1 = "sangfor";
int j = 0,n = 0;
for(int i = 0;i < str.size();i++){
if(str[i] == str1[(j + 7) % 7]){
if(j != 0 && (j+7 + 1)%7 == 0){
n++;
}
j++;
}
}
cout << n;
return 0;
}
这道当时思路非常清晰,就手误将判断条件(j+7 + 1)%7 == 0 写成了str[(j+7 + 1)%7 == 0],在答案截止之前也没发现,这就体现了注释和debug的重要性了。
题目二
一共有n个橘子,a袋可装8个,b袋可装6个,袋子数量足够,将n个橘子装进两个袋子中,每个袋子都必须装满,输出n个橘子全部装入的最小袋数,若不能装满,输出-1。
这道题不难,简单在6和8都是偶数。这是我唯一做出来的一道题,写了一个很长的代