⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 badluk.cpp

📁 这是C++数值算法(第二版)的源代码,其中包含了目前一些比较常用的数值计算的算法.
💻 CPP
字号:
#include <iostream>
#include <iomanip>
#include <cmath>
#include "nr.h"
using namespace std;

int main(void)	// Program badluk
{
	const int IYBEG=2000,IYEND=2100;
	const DP ZON=-5.0;
	int ic,icon,idwk,im,iyyy,jd,jday,n;
	DP timzon=ZON/24.0,frac;

	cout << endl << "Full moons on Friday the 13th from ";
	cout << setw(5) << IYBEG << " to " << setw(5) << IYEND << endl;
	for (iyyy=IYBEG;iyyy<=IYEND;iyyy++) {
		for (im=1;im<=12;im++) {
			jday=NR::julday(im,13,iyyy);
			idwk=int((jday+1) % 7);
			if (idwk == 5) {
				n=int(12.37*(iyyy-1900+(im-0.5)/12.0));
				icon=0;
				for (;;) {
					NR::flmoon(n,2,jd,frac);
					frac=24.0*(frac+timzon);
					if (frac < 0.0) {
						--jd;
						frac += 24.0;
					}
					if (frac > 12.0) {
						++jd;
						frac -= 12.0;
					} else
						frac += 12.0;
					if (jd == jday) {
						cout << endl << setw(2) << im;
						cout << "/13/" << setw(4) << iyyy << endl;
						cout << fixed << setprecision(1);
						cout << "Full moon" << setw(6) << frac;
						cout << " hrs after midnight (EST)" << endl;
						break;
					} else {
						ic=(jday >= jd ? 1 : -1);
						if (ic == (-icon)) break;
						icon=ic;
						n += ic;
					}
				}
			}
		}
	}
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -