C语言输入年份月份,输出天数。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言输入年份月份,输出天数。相关的知识,希望对你有一定的参考价值。

#include<stdio.h>
void main()

int year,month,leap;
scanf("%d%d",year,month);
if(year%400==0)
leap=1;
else

if(year%4==0&&year%100!=0)
leap=1;
else leap=0;

switch(month)

case1:
case3:
case5:
case7:
case8:
case10:
case12:printf("%d年的d%月的天数为31",year,month);break;
case4:
case6:
case9:
case11:printf("%d年的d%月的天数为30",year,month);break;
case2:if(leap==1)
printf("%d年的d%月的天数为29",year,month);
else printf("%d年的d%月的天数为28",year,month);break;
default:printf("月份错误");

帮我看看是哪里出错了。
输入年份和月份运行后它就显示该程序停止运行

scanf("%d%d",year,month); 漏了取地址符号 &

case+表达式:中间需空格,例如:case 1:
参考技术A #include<stdio.h>
void main()

int year,month,leap;
scanf("%d%d",&year,&month);
if(year%400==0)
leap=1;
else

if(year%4==0&&year%100!=0)
leap=1;
else leap=0;

switch(month)

case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:printf("%d年的%d月的天数为31",year,month);break;
case 4:
case 6:
case 9:
case 11:printf("%d年的%d月的天数为30",year,month);break;
case 2:if(leap==1)
printf("%d年的d%月的天数为29",year,month);
else printf("%d年的%d月的天数为28",year,month);break;
default:printf("月份错误");

参考技术B scanf("%d%d",year,month);
应该是
scanf("%d%d",&year,&month);
参考技术C 不his 熬啊不

年份月数天数

问题:

  编写程序,使之所给的年份和月份,按照万年历的算法获知该年该月的天数,并输出结果。要求程序能反复运行,直至键入的年份和月份分别为2100年和12月为止。

分析:

  程序要求输入年份月份,输出该月的天数,应主要考虑闰年,闰年的2月有29天,非闰年的2月只有28天。按通常历法,每四年有一个闰年,那么每400年就有100个闰年,但这种算法有误差积累,年数多了就不准。所谓万年历是指使用一万年都能保持准确的历法,根据万年历的算法,每400年只能有97个闰年,不妨假设程序中的年份取1701年至2100年。可规定:在这400年中,凡能被4整除而不能被100整除的年份(有100-4=96),加上能被400整除的年份(1个,即2000年),均为闰年,其余都是非闰年。

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int years,months,days;
 5     printf("请输入年份和相应的月份:");
 6     scanf("%d,%d",&years,&months);
 7     switch(months)
 8     {
 9         case 1:
10         case 3:
11         case 5:
12         case 7:
13         case 8:
14         case 10:
15         case 12:
16             days=31;
17             break;
18         case 4:
19         case 6:
20         case 9:
21         case 11:
22             days=30;
23             break;
24         case 2:
25             if((years%4==0&&years%100!=0)||(years%400==0))
26                 days=29;
27             else 
28                 days=28;
29     }
30     printf("\n%d年%d月有%d天!\n",years,months,days);
31 }
32 
33 /*#include<stdio.h>
34 int main(){
35     int year,month,days;
36     do{
37         do{
38             printf("请输入您想查询的年份和月份:");
39             scanf("%d %d",&year,&month);
40         }while(!((year>=1701&&year<=2100)&&(month>=1&&month<=12)));
41         if(!(year==2100&&month==12)){
42             switch(month)
43             {
44                 case 1:
45                 case 3:
46                 case 5:
47                 case 7:
48                 case 8:
49                 case 10:
50                 case 12:
51                     days=31;
52                     break;
53                 case 4:
54                 case 6:
55                 case 9:
56                 case 11:
57                     days=30;
58                     break;
59                 case 2:
60                     if(year%4==0&&year%100!=0||year%400==0)//判断是否为闰年
61                         days=29;
62                     else
63                         days=28; 
64             }
65             printf("\n%d的%d月有%d天\n\n",year,month,days);
66         }
67     }while(!(year==2100&&month==12));
68     return 0;
69 }*/

 


  







以上是关于C语言输入年份月份,输出天数。的主要内容,如果未能解决你的问题,请参考以下文章

C语言 根据输入的年份和月份,判断输出是不是闰年和该月的天数,很急,谢谢!

C语言入门问题:输入年份和月份,求该月有多少天

c语言编程:输入一个年份,判断其是不是为闰年,并输出判断结果。

c语言:从键盘上输入一个日期,判断输入的日期是不是正确

java得到上个月的月份及天数

输入年份输出属相c语言,编写程序,输入一个年份,判断该年属相.(提示s