231023

文章介绍了C++编程中的两个例子:如何处理闰年日期计算,特别注意闰年2月的特殊情况;以及如何交换三个数并保持升序,避免了复杂排序算法。
摘要由CSDN通过智能技术生成

菜鸟编程4

1.首先要想到特殊情况,年分为闰年和平年,闰年的2月有29天

2.当闰年时候,如果输入的月份在2月份之前,那就不应该+1天

总结:有特殊时应该自己模拟一下流程,不要漏掉各种特殊情况

#include<stdio.h>
int main(){
	int year;
	int moon;
	int date;
	int i=1;
	int sum;
	scanf("%d,%d,%d",&year,&moon,&date);
	switch(moon){
		case 1:sum=0;break;
		case 2:sum=31;break;
		case 3:sum=59;break;
		case 4:sum=90;break;
		case 5:sum=120;break;
		case 6:sum=151;break;
		case 7:sum=181;break;
		case 8:sum=212;break;
		case 9:sum=243;break;
		case 10:sum=273;break;
		case 11:sum=303;break;
		case 12:sum=334;break;
		default:printf("date error");break;
	}
	sum+=date;
	if(year%4==0){        //这部分是判断闰年时,需不需要加一天
		if(moon<=2){
			sum=sum;
		}else if(moon>2){
			sum+=1;
		}
	}
	printf("天数为:%d",sum);
}

菜鸟编程5:

交换3个数

1.本质是移动数字,将最小的放在x位上,所以只需要一点一点判断谁是最小的

2.需要用到一个容器装数字,进行交换

我的错误想法:

给每个数字标上序号,通过比较得他们的大小,其实完全可以直接通过一个一个交换做到从小到大排序(因为if运算有顺序,t可重复利用)

#include<stdio.h>
int main(){
	int x,y,z,t;
	printf("请输入3个数:");
	scanf("%d %d %d",&x,&y,&z);
	if(x>y){
		t=x,x=y,y=t;        //注意交换时候的逻辑//
	}                       //先取一个容器t装一个值,再令y=x,最后把x赋予t的值//
	if(x>z){
		t=z,z=x,x=t;
	}
	if(y>z){
		t=y,y=z,z=t;	
	}
	printf("从小到大为:%d %d %d",x,y,z);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值