子序列求和

本博客内容为算法竞赛入门经典(第二版)课后习题。基于C++11语言编写的。为原创,并没有参考源代码。由于作者处于学习中。难免在算法中会有一些错误。读者发现错误可以留言一起讨论。代码仅供参考,如有引用,请注明出处。

本次使用了多文件。

第一个文件  SUBSEQUENCE.h

#pragma once
class SUBSEQUENCE
{
public:
	SUBSEQUENCE();
	~SUBSEQUENCE();
	void show();
	void scanf_sub();
	void algorithm();
private:
	int n, m;
	double sum;
};

第二个文件SUBSEQUENCE.cpp

#include "SUBSEQUENCE.h"
#include <iostream>
#include <cmath>
#include <iomanip>

SUBSEQUENCE::SUBSEQUENCE()
{
	sum = 0;
}


SUBSEQUENCE::~SUBSEQUENCE()
{
}
void SUBSEQUENCE::algorithm()
{
	for (int i = n; i <= m; i++)
	{
		sum += 1.0 / (pow(double(i),2));
	}
}
void SUBSEQUENCE::show()
{	
	std::cout << "Case 1: " << std::setprecision(5) << sum << std::endl;
}
void SUBSEQUENCE::scanf_sub()
{
	std::cin >> n >> m;
	while ((0 >= n) || (n >= m))
	{
		std::cout << "你输入的数据有误,请重新输入!" << std::endl;
		std::cin >> n >> m;
	}	
}

第三个文件main.cpp

#include "SUBSEQUENCE.h"

int main()
{
    SUBSEQUENCE sub1;
    sub1.scanf_sub();
    sub1.algorithm();
    sub1.show();
    return 0;
}

猜你喜欢

转载自blog.csdn.net/m0_38036750/article/details/81703553