栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

demo17:C语言的一些小练习题高阶版8.

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

demo17:C语言的一些小练习题高阶版8.

8.写程序实现:输入日期,比较并输出所有日期中最早的日期(规定输入错误日期算输入结束)  eg:2000/12/23 2000/1/12 1<12 则日期2更早(比较最小值应初始化为最大值!)

(1)第一种做法:定义很多变量

代码如下:

//1.定义很多变量
#include
#include //定义整数类型极限的库函数 
bool IsLeapYear(int year){ //判断是否为闰年 
	if(year%400==0||(year%4==0&&year%100!=0)){
		return true;
	}
	else return false;
}
int Get_YM_Day(int year,int month){ //数组查表法实现函数功能:查询该年该月有多少天 
	int arr[13]={29,31,28,31,30,31,30,31,31,30,31,30,31};
	int i=0;
	if(month==2&&IsLeapYear(year)){
		return arr[i];
	}
	else return arr[month];
}
int main(){
	int year=0,month=0,day=0;
	int myear=INT_MAX,mmonth=12,mday=31; //求最小值则初始化为最大值,此处用库函数为年份初始化为最大值 
	for(;;){
		bool tag=false; //避免交换值部分代码重复,切记一定要定义在for循环内!否则一旦被赋值为true,则永远是true,意味着每次都会交换 
		printf("Please input year/month/day:(yyyy/mmmm/dd)n");
		scanf("%d/%d/%d",&year,&month,&day);
		if(year<1||month<1||month>12||day<1){
			break;
		}
		if(day>Get_YM_Day(year,month)){
			break;
		}
		if(year 

ps:需要注意的地方已在代码区用注释标记,请大家仔细看代码并自己动手敲 

代码实现如下: 

 (1)第二种做法:用结构体优化代码

代码如下:

//2.结构体优化
#include
#include
bool IsLeapYear(int year){
	if(year%400==0||(year%4==0&&year%100!=0)){
		return true;
	}
	else return false;
}
int Get_YM_Day(int year,int month){
	int arr[13]={29,31,28,31,30,31,30,31,31,30,31,30,31};
	int i=0;
	if(month==2&&IsLeapYear(year)){
		return arr[i];
	}
	else return arr[month];
}
struct Date{
	int year;
	int month;
	int day;
}; 
int main(){
	struct Date n={0,0,0}; //赋初值(初始化)
	struct Date min={INT_MAX,12,31}; //赋初值(初始化)
	for(;;){
		bool tag=false;
		printf("Please input year/month/day:(yyyy/mmmm/dd)n");
		scanf("%d/%d/%d",&n.year,&n.month,&n.day);
		if(n.year<1||n.month<1||n.month>12||n.day<1){
			printf("Input error!n");
			break;
		}
		else if(n.day>Get_YM_Day(n.year,n.month)){
			printf("Input error!n");
			break;
		}
		if(n.year 

ps:需要注意的地方仍然已在代码区用注释标记,请大家仔细看代码并自己动手敲  

代码实现如下:

 

 希望看到文章结尾没有让读者失望,会继续努力再接再厉的!!

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/430123.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号