萌新第一次发表博客,希望大家多多指教.
今天我们看一个基本的c语言问题.题目如下:输入年月日判断今天是今年的第几天
这个题和c入门的一个基础题判断闰年有一定的联系.确定闰年有两个条件1.是可以被4整除但不能被100整除(year%4==0&&year%100!=0)2.可以被400整除((year%400==0)
同学们在做这一类题的时候要把这个基本知识记住,这个属于把题做出来的前置条件
代码如下
#include<stdio.h>
#include<iostream>
int main() {
int year ;
int month;
int day;
printf("请输入年");
scanf("%d",&year);
printf("请输入月");
scanf("%d",&month);
printf("请输入日");
scanf("%d",&day);
if((year%4==0&&year%100!=0)||(year%400==0))
{switch(month){
case 1:
printf("第%d天",day);
break;
case 2:
day=31+day;
printf("第%d天",day) ;
break;
case 3:
day=31+29+day;
printf("第%d天",day);
break;
case 4:
day=31+29+31+day;
printf("第%d天",day);
break;
case 5:
day=31+29+31+30+day;
printf("第%d天",day);
break;
case 6:
day=31+29+31+30+31+day;
printf("第%d天",day);
break;
case 7:
day=31+29+31+30+31+30+day;
printf("第%d天",day);
break;
case 8:
day=31+29+31+30+31+30+31+day;
printf("第%d天",day);
break;
case 9:
day+31+29+31+30+31+30+31+31;
printf("第%d天",day);
break;
case 10:
day=day+31+29+31+30+31+30+31+31+30;
printf("第%d天",day);
break;
case 11:
day=day+31+29+31+30+31+30+31+31+30+31;
printf("第%d天",day);
break;
case 12:
day=day+31+29+31+30+31+30+31+31+30+31+30;
printf("第%d天",day);
break;
}}else {switch(month){
case 1:
printf("第%d天",day);
break;
case 2:
day=31+day;
break;
printf("第%d天",day) ;
break;
case 3:
day=31+28+day;
printf("第%d天",day);
break;
case 4:
day=31+28+31+day;
printf("第%d天",day);
break;
case 5:
day=31+28+31+30+day;
printf("第%d天",day);
break;
case 6:
day=31+28+31+30+31+day;
printf("第%d天",day);
break;
case 7:
day=31+28+31+30+31+30+day;
printf("第%d天",day);
break;
case 8:
day=31+28+31+30+31+30+31+day;
printf("第%d天",day);
break;
case 9:
day+31+28+31+30+31+30+31+31;
printf("第%d天",day);
break;
case 10:
day=day+31+28+31+30+31+30+31+31+30;
printf("第%d天",day);
break;
case 11:
day=day+31+28+31+30+31+30+31+31+30+31;
printf("第%d天",day);
case 12:
day=day+31+28+31+30+31+30+31+31+30+31+30;
printf("第%d天",day);
break;
}
}
system("pause");
return 0;
}
本题采用了if语句和switch语句.代码有点长希望可以给初学者一点启示.