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

📄

📁 人体高低潮判断程序
💻
字号:
#include "stdafx.h"
int M=23,N=28,P=33;
int day_tap[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
//1.给出年月日,计算该日是该年的第几天(未包括闰年)
int sum_day(int month,int day)
{
	int i;
	for(i=1;i<month;i++)
		day=day+day_tap[i];
	return(day);
}
//2.闰年判断
int leap(int year)
{
	int leap;
	leap=(year%4==0&&year%100!=0)||(year%400==0);
	return(leap);
}
//3.给出两年,判断两年间闰年年数(不包括这两年)
int count(int year1,int year2)
{
	int k,count=0;
	for(k=(year1+1);k<year2;k++)
		if(leap(k))
			count++;
		return(count);
}
//4.在1的基础上添加闰年
int temp(int year,int month,int day)
{
	int days;
	days=sum_day(month,day);
	if(leap(year)&&((month>=3)||(month==2&&day==29)))
		days=days+1;
	return(days);
}
//5.两数相等判断
int judge(int x,int y)
{
	int t;
	if(x=y)
		t=0;
	else
		t=1;
	return(t);
}
//6.判断高低潮与临界点
int flag(int sum,int m)
{
	int p;
	if(sum%m<((m+1)/2))
		p=-1;
	else if(sum%m>((m+1)/2))
		p=1;
	else 
		p=0;
	return(p);
}
//7.主函数(输入输出,计算两日期间天数,判断下次共同高/低潮日期)
int main(int argc, char* argv[])
{
	int year1,month1,day1,year2,month2,day2,x;
	int a1,a2,sum;
	int days1,days2;
	int n;
	printf("\n请输入您的生日数(year,month,day):");
	scanf("%d,%d,%d",&year1,&month1,&day1);
   	printf("\n请输入今日日期(year,month,day):");
	scanf("%d,%d,%d",&year2,&month2,&day2);
	days1=sum_day(month1,day1);
	days2=sum_day(month2,day2);
	a1=temp(year1,month1,day1);
	a2=temp(year2,month2,day2);
	sum=a2-a1+365*(year2-year1)+count(year1,year2)+1+judge(a2,days2);
	if(flag(sum,M)==-1)
		printf("您的体力现在处于高潮期\n");
	else if(flag(sum,M)==1)
		printf("您的体力现在处于低潮期\n");
	else 
		printf("您的体力现在处于临界点\n");
	if(flag(sum,N)==-1)
		printf("您的情绪现在处于高潮期\n");
	else 
		printf("您的情绪现在处于低潮期\n");
	if(flag(sum,P)==-1)
		printf("您的智力现在处于高潮期\n");
	else if(flag(sum,P)==1)
		printf("您的智力现在处于低潮期\n");
	else 
		printf("您的智力现在处于临界点\n");
	printf("\n若要测算三个周期的共同高潮期,请输入-1;\n若要测算三个周期的共同低潮期,请输入1;\n");
	scanf("%d",&x);
	for(n=1; ;n++)
		if(flag((sum+n),M)==x&&flag((sum+n),N)==x&&flag((sum+n),P)==x)
			break;
	if(x==-1)
		printf("您的下一个共同高潮期为%d天后\n",n);
	else
		printf("您的下一个共同低潮期为%d天后\n",n);
	day2=day2+n;	
	if(leap(year2))
		day_tap[2]=day_tap[2]+1;
	while(day2>day_tap[month2])
	{	
		day2=day2-day_tap[month2];
		month2++;
		if(month2>12)
		{
			month2=month2-12;
			year2++;
		}
		day_tap[2]=28;
		if(leap(year2))
			day_tap[2]=day_tap[2]+1;
	}
	printf("那天是(year,month,day):%d,%d,%d\n",year2,month2,day2);
	return 0;
}


⌨️ 快捷键说明

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