C语言基础练习100-004

C语言基础练习100-004,第1张

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

分析:

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

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

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

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

4.一年的第几天:

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

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

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

#include
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
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;
}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/915288.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-16
下一篇2022-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存