目录
2005.第几天?
- 2005.第几天?
- 2006.求奇数的乘积
- 2007.平方和与立方和
- 2008.数值统计
- 2009.求数列的和
Problem Description
给定一个日期,输出这个日期是该年的第几天。
Input
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可
以向你确保所有的输入数据是合法的。
Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input
1985/1/20
2006/3/12
Sample Output
20
71
分析: (1)判断该年是闰年还是平年,若是闰年则返回1,否则返回0 (2)判断输入的日期是否合法 (3)计算这个日期是该年的第几天
#include
//判断输入的年份是否为闰年,是闰年则返回1,否则返回0
int IsLeapYear(int year){
//闰年的判定方法,满足下面中的一项即为闰年:
//(1)能被4整除,但不能被100整除;
//(2)能被400整除;
if(year%4==0 && year%100!=0 || year%4==0){
return 1;
}else{
return 0;
}
}
//判断日期是否合法
int IsLegal(int year,int month,int day){
//年份必须为正整数
if(year0 && day=29) return 0;
if(month==2 && IsLeapYear(year) && day>=30) return 0;
if(month==4 || month==6 || month==9 || month==11){
if(day==31) return 0;
}
return 1;
}else{
return 0;
}
}
void WhichDay(){
int months[12]={0,31,59,90,120,151,181,211,242,273,303,334};
int year,month,day,c1,c2,temp;
while(scanf("%d%c%d%c%d",&year,&c1,&month,&c2,&day)!=EOF){
if(!IsLegal(year,month,day)){
printf("输入的日期有误,请重新输入!\n");
continue;
}
if(IsLeapYear(year) && month>2){
temp=1;
}else{
temp=0;
}
printf("%d\n",temp+months[month-1]+day);
}
}
2006.求奇数的乘积
Problem Description
给你n个整数,求他们中所有奇数的乘积。
Input
输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据一共有n个,
接着是n个整数,你可以假设每组数据必定至少存在一个奇数。
Output
输出每组数中的所有奇数的乘积,对于测试实例,输出一行。
Sample Input
3 1 2 3
4 2 3 4 5
Sample Output
3
15
分析:先判断是否为奇数,然后再相乘
#include
void OddMul(){
int n,result,i,temp;
while(scanf("%d",&n)!=EOF){
result=1;
for(i=0;im){
temp=n;
n=m;
m=temp;
}
sum1=sum2=0;
for(i=n;i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?