Ⅰ 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)
{
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("月份错误");
}
}
Ⅱ c语言编程 输入月份数。相应输出该月天数
main()
{
int a,c;
scanf("%d,%d",&a,&c);
switch(c)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:c=31;break;
case 4:
case 6:
case 9:
case 11:c=30;break;
case 12:c=28+(a%4==0&&a%100!=0||a%400==0);break;
}
printf("该月共有%d天\n",c);
}
变量B是多余的,然后12月份你写错了。没有default,只有12种情况。
输出应该在swich语句结束之后,将C的值输出。
有问题可以找我。呵呵
另外,团IDC网上有许多产品团购,便宜有口碑
Ⅲ 任输入一平年的月份,输出该月份对应的天数用C语言怎么写
由于程序的功能可以得出我们可以使用switch语句来完成这个功能。只需要用switch判定一下所处的月份,然后输出对应的天数就可以完成程序的功能。
程序代码如下:
#include<stdio.h>
int main()
{
int month=0;
scanf("%d",&month);
switch(month){
case 2 : printf("二十八天 ");break;
case 4 : printf("三十天 ");break;
case 6 : printf("二十八天 ");break;
case 9 : printf("二十八天 ");break;
case 11 : printf("二十八天 ");break;
default : printf("三十一天 ");
}
}
(3)c语言输入月份并输出天数扩展阅读:
switch语句使用注意事项:
switch语句执行时会从上到下根据括号中表达式的值做比较,当某个case语句中的表达式与此值相同时,就执行这个case语句或语句序列,直到遇到break为止。
break语句是必须有的,它用来结束switch语句的执行。如果所有case语句后面的表达式都不等于switch语句的表达式expr1的值0执行default后面的默认语句序列。
default部分是可选的。如果没有这一部分,并遇到所有case语句都不匹配,那么,就不作任何处理而进入后续程序段的执行。
switch语句工作原理:
对表达式(通常是变量)进行一次计算。
把表达式的值与结构中 case 的值进行比较。
如果存在匹配,则执行与 case 关联的代码。
代码执行后,break语句阻止代码跳入下一个 case 中继续执行。
如果没有 case 为真,则使用default语句。
参考资料来源:网络-switch语法
Ⅳ 用C语言编译程序:输入制定年月的月份天数
c语言忘记了,给你一个大概的思路
首先输入年份,scanf,然后判断是否闰年if
year/400,如果是闰年的话
下面接一个switch
,1,3,5,7,8,10
12输出31天,2,4,6,9,11是30天,2月28天
或者你用if语句写也可以。
编程尽量自己写,别人写出来虽然你能看懂,但是要你自己写还是写不出的。
Ⅳ 用C语言编程序"输入月份,输出对应的天数"
这个要考虑闰年,所以还要输入年份
#include<stdio.h>
intmain(void)
{
intyear,mount;
intbuf[13]={0,31,0,31,30,31,30,31,31,30,31,30,31};
printf("请输入年份月份用空格隔开 ");
while(1)
{
scanf("%d%d",&year,&mount);
if(mount<13&&mount>0)
break;
else
printf("月份输入错误请重新输入年份月份用空格隔开 ");
}
if(mount!=2)
{
printf("本月有%d天 ",buf[mount]);
}
else
{
if(year%4==0&&year%100!=0||year%400==0?1:0)
printf("本月有29天 ");
else
printf("本月有28天 ");
}
return0;
}
Ⅵ c语言编写程序,输入某年某月,求该月的天数
#include<iostream.h>
voidmain()
{
intYear,Month,Day;
cout<<"Pleaseenterthecurrentdate(年月以空格分隔):";
cin>>Year>>Month;
while(Month<=0||Month>12)
{
cout<<"输入时间有误,请重新输入:";
cin>>Year>>Month;
}
switch(Month)
{
case4:
case6:
case8:
case9:
case11:
Day=30;
break;
case2:
if(Year%400==0||Year%4==0&&nYear%100!=0)
Day=29;
else
Day=28;
break;
default:Day=31;
}
cout<<"该月天数为:"<<Day<<"天";
}
Ⅶ 编写程序,输入年月日,输出天数
#include<iostream>
using namespace std;
int main()
{
int year,month,day;
int days=0,i;
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; //定义一个数组 用来存放每个月的天数
cout<<"请输入年月日,比如2014 12 9"<<endl;
cin>>year>>month>>day;
for(i=1;i<month;i++) //天数相加
{
days=days+a[i];
}
days=days+day;
if((((year%4==0)&&(year%100!=0))||(year%400==0))&&month>=3) //若是闰年的情况 月份在二月之后 天数加1
{
days=days+1;//daya+=1
}
cout<<month<<"月"<<day<<"月是"<<year<<"年中的第"<<days<<"天"<<endl; //输出月 天数。
return 0;
}
Ⅷ 输入年份月份 输出显示该月份的天数 c语言编写
scanf("%d%d",year,month);错了
应该是:
scanf("%d%d",&year,&month);
还有啊:case后面有空格的,是case
1,不是case1。
switch...case在执行时具有贯穿性,会从第一个匹配的项开始一路向下执行,知道遇见break或语句块结束符,如
case
1:
//do
a
执行完do
a后继续执行下一条case(do
b)
case
2:
//do
b
执行完do
b后继续执行下一条case(do
c)
case
3:
//do
c
执行完do
c后遇到break;直接跳出switch...case语句块
break;
case
4:
...
Ⅸ 编写程序,输入年月信息后,显示当年和当月的天数用c语言
#include
void
main()
{
int
i,year,month,day;
do
{
printf("年");
scanf("%d",&year);
printf("月");
scanf("%d",&month);
if(month<0||month>12)
printf("输入错误请重新输入");
}while(month<0||month>12);
if((year%4==0
&&
year%100!=0)||(year%400==0))
i=1;
else
i=0;
switch(month)
{
case
2:
if(i==1)
day=29;day=28;break;
case
4:
case
6:
case
9:
case
11:
day=30;break;
default
:
day=31;break;
}
printf("%d年%d月的天数:%d\n",year,month,day);
}
看看能否执行
你的if中应该是month==而不是month=
=是赋值语句
==是关系语句