C语言基础练习100-004---判断今天是第几天

题目:输入某年某月,判断这一天是这一年的第几天?

分析:

1.输入printf与scanf对应哦!  记得&这个符号

2.判断:switch语句---多分支结构 ---用来判断月份天数

switch(表达式){
    case 整型数值1: 语句 1;
    case 整型数值2: 语句 2;
    ......
    case 整型数值n: 语句 n;
    default: 语句 n+1;
}

3.判断:if语句---判断闰年平年

4.一年的第几天:

   首先需要判断闰年和平年因为天数不一样;

   判断是第几个月,每个月天数也不一样。

先尝试去做简单的:判断是平年还是闰年

#include<stdio.h>
int main(){
   int year;
   printf("Input this year:");
   scanf("%d",&year);
   if((year%4==0&&year%100==0)||year%400==0){
	   printf("%dyes!\n",year);}
   else{
       printf("%dno!\n",year);
   }
   return 0;
}

再去做这个题,加上月份的就可以了

#include<stdio.h>
int main(){
   int year,month,day;
   int sum=0;
   int leap=0;
   printf("Input this day(格式例如2022,5,12):");
   scanf("%d,%d,%d",&year,&month,&day);
  

   switch(month){
    case 1:printf("1月份\n");sum=0;break;
	case 2:printf("2月份\n");sum=31;break;
	case 3:printf("3月份\n");sum=59;break;
	case 4:printf("4月份\n");sum=90;break;
	case 5:printf("5月份\n");sum=120;break;
	case 6:printf("6月份\n");sum=151;break;
	case 7:printf("7月份\n");sum=181;break;
	case 8:printf("8月份\n");sum=218;break;
	case 9:printf("9月份\n");sum=242;break;
	case 10:printf("10月份\n");sum=273;break;
	case 11:printf("11月份\n");sum=303;break;
	case 12:printf("12月份\n");sum=334;break;
	default:printf("holiday");break;
	
   }

   if((year%4==0&&year%100==0)||year%400==0){
	  leap=1;
   }
   else{
       leap=0;
   }
   if(leap==1&&month>2){
      sum=sum+1;//如果是闰年且月份大于2则总年数在加上一天
   }
  sum=sum+day;
  printf("总天数为%d\n",sum);
   return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大战金刚龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值