1.本题要求编写程序计算某年某月某日是该年中的第几天。
输入格式:
输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。不是就是28天,
有30天的是:4,6,9,11,其他是31天。
原理:输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。
for循环,使sum加。
sum=sum+c; //这个月的天数,先赋值给sum
// printf("%d\n",sum);
// printf("%d\n",b);
for(int i=1;i<=b-1;i++){//遍历这个月前面的月份
if(i==2){ //前面的月份有2月份,就执行这个语句
sum=sum+28;
// printf("这个是%d",sum);
}else if(i==4||i==6||i==9||i==11){//是:4,6,9,11月份就执行这个语句
sum=sum+30;
}
else{//其他的月份执行下面的语句
sum=sum+31;
}
}}
代码:
#include<stdio.h>
int main(){
int a,b,c;
int sum=0;
scanf("%d/%d/%d",&a,&b,&c); //2021/1/1
if(a%400==0){ //这个是判断是否闰年
sum=sum+c;
// printf("检查错误!");
for(int i=1;i<=b-1;i++){
if(i==2){
sum=sum+29;
}else if(i==4||i==6||i==9||i==11){
sum=sum+31;
}
else{
sum=sum+30;
}
} }else{
sum=sum+c;
// printf("%d\n",sum);
// printf("%d\n",b);
for(int i=1;i<=b-1;i++){
if(i==2){
sum=sum+28;
// printf("这个是%d",sum);
}else if(i==4||i==6||i==9||i==11){
sum=sum+30;
}
else{
sum=sum+31;
}
}}
printf("这个日期在这年的第%d天",sum);
return 0;
}