C++重读笔记

一、寄存器变量:

1、寄存器类变量的数据长度与通用寄存器的长度相当。一般只能用char型和int型变量。

2、要选择一些使用频度高的变量定义为寄存器变量,这样可以提高运行效率。

#include "stdafx.h"
#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{

	int sum=0;

	for(register int i=0;i<=10;i++){
	
		sum +=i;
	}

	cout<<"sum="<<sum<<endl;

	
	return 0;
}

3、计算某个日期是一年中的第几天和计算某一年的第几天是几月几日

//给定某个日期计算出该日期是一年的第几天
//给定某一年的第几天计算出是几月几日


#include "stdafx.h"
#include <iostream>


using namespace std;


int leap(int year);
int sum_day(int month,int day);
int days_of_year(int year,int month,int day);


struct YMD{


	int year;
	int month;
	int day;
};


int get_month(int isleap,int days);
int get_day(int isleap,int month,int days);
YMD year_of_days(int year,int days);


int _tmain(int argc, _TCHAR* argv[])
{	
	cout<<days_of_year(2018,7,7)<<endl;


	struct YMD mymd;


	mymd=year_of_days(2018,188);


	cout<<mymd.year<<"年"<<mymd.month<<"月"<<mymd.day<<"日"<<endl;


	getchar();


	return 0;
}


int leap(int year){


	if(year %4==0 && year %100!=0||year % 400==0){
	
		return 1;
	}else{
	
		return 0;
	}
	
}


int sum_day(int month,int day){
	
	static int days_month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};


	for(register int i=1;i<month;i++){
	
		day+=days_month[i];
	}


	return day;
}


int days_of_year(int year,int month,int day){


	int days=sum_day(month,day);


	if(leap(year)&&month>2){


		days++;	
	
	}


	return days;
}


int get_month(int isleap,int days){




	static int days_month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};


	if (isleap==1){
	
		days_month[2]=29;
	}


	for(register int i=1;i<12;i++){
	
		days-=days_month[i];
		if (days<=0){
		
			return i;
		}
	}


	return 0;


}


int get_day(int isleap,int month,int days){




	static int days_month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};


	if (isleap==1){
	
		days_month[2]=29;
	}


	int tempday=0;


	for(register int i=1;i<month;i++){
	
		tempday+=days_month[i];
	}


	return days-tempday;
	


}






YMD year_of_days(int year,int days){


	int month=get_month(leap(year),days);


	int day=get_day(leap(year),month,days);


	struct YMD mymd;


	mymd.year = year;
	mymd.month=month;
	mymd.day=day;


	return mymd;


}

猜你喜欢

转载自blog.csdn.net/MyPC2010/article/details/80953751