//小明从2006年1月1日开始,每三天结识一个美女两天结识一个帅哥,编程实现当输入2006年1月1日之后的任意一天,输出小明那天是结识美女还是帅哥(注意润年问题)
#include <stdio.h>
int runOrPing(int Y){
if ((Y%400==0)||((Y%4==0)&&(Y%100!=0)))
{
return 1;
}else return 0;
}
int dayOfYear(int x){
int count=0;
for(int i=2006;i<=x;i++)
{
if(runOrPing(i)){
count++;
}
}
return (x-count)*28+count*29+(x-2006)*337;
}
int dayOfMonth(int x, int y)
{
char runMonth[]={31,29,31,30,31,30,31,31,30,31,30,31};
char pingMonth[]={31,28,31,30,31,30,31,31,30,31,30,31};
int sum=0;
if(runOrPing(x)) {
for (int i=0;i<y-1;i++){
sum=sum+runMonth[i];
}
}else{
for (int i=0;i<y-1;i++){
sum=sum+pingMonth[i];
}
}
return sum;
}
void result(int sumDay){
if(sumDay%5<=3)
{
printf("今天小明见到的是美女!\n");
}else
printf("今天小明见到的是帅哥!\n");
}
int main(){
printf("请输入年、月、日,并以逗号隔开,形式如:“2014,3,23”\n");
int x,y,z;
scanf("%d,%d,%d",&x,&y,&z);
int daySum=dayOfYear(x)+dayOfMonth(x, y)+z;
result(daySum);
return 0;
} |