这是关于一个普通双非本科大一学生的C++的学习记录贴
在此前,我学了一点点C语言还有简单的数据结构,如果有小伙伴想和我一起学习的,可以私信我交流分享学习资料
那么开启正题
今天没有学习新的知识,简单的刷了一些题
求1+2+3+...+n_牛客题霸_牛客网这是题目链接
要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)
也就是要求我们用类的特性来完成,下面是我的ac代码
class Sum
{
public:
static void Init()
{
_sum = 0;
_i = 1;
}
Sum()
{
_sum += _i;
++_i;
}
static int GetSum()
{
return _sum;
}
private:
static int _i;
static int _sum;
};
int Sum::_i = 1;
int Sum::_sum = 0;
class Solution {
public:
int Sum_Solution(int n)
{
Sum::Init();
Sum a[n];
return Sum::GetSum();
}
};
我们可以借助每创建一个变量就调用一次构造函数来“模拟”for循环,而每个对象的成员是不一样的,所以我们定义两个静态的成员变量,使每次操作都在同一组数据上操作,为了实现函数多次的正常调用,我们还得实现一个初始化函数,为了返回值也得创建一个函数,当然,这两个函数都得是静态的,最后把代码一实现就成功ac了
计算日期到天数转换_牛客题霸_牛客网这是题目链接
#include <iostream>
using namespace std;
int main()
{
int MonthDay[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int year,month,day;
int n=0;
while(cin >> year >> month >>day)
{
int i = 0;
for(i=1;i<month;i++)
{
n += MonthDay[i];
}
n += day;
if(month > 2 && (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)))
++n;
cout << n << endl;
}
return 0;
}
这个题目是IO型题目需要我们自己写输入输出,要注意多组数据输入,用while循环来实现,注意闰年的二月多一天,我们先把前面月份得天数累加,再判断是否过了二月,并且是闰年再加上1,就可以很简洁得完成任务
今天的博客就到这里了,后续内容明天分享,最近因为考试周原因不能更新太多内容,等考试周结束了再"快马加鞭"
新手第一次写博客,有不对的位置希望大佬们能够指出,也谢谢大家能看到这里,让我们一起学习进步吧!!!
?