#includelt;stdio.hgt;
专注于为中小企业提供成都网站设计、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业方城免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
main(){
int year,mounth,days;
printf("input year,mounth\n");
scanf("%d,%d",year,mounth);
if(mounth%2!=0||mounth==8){
days=31;//不管什么年份,这几个月天数都是固定的
}
else{
if(mounth==2){
if((year%4==0)(year%100!=0)||(year%400==0))
//判断是否是闰年能被4整除不能被100整除,能被400整除的年份位闰年
days=29;
else
days=28;
}
else
days=30;
}
printf("该月份共有:%d天",days);
}
运行结果:
扩展资料:
printf()用法:
printf()函数的调用格式为:printf("lt;格式化字符串gt;",lt;参量表gt;)。
其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。
参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。
比如:
int a=5678;
printf("a=%d\n",a);
输出结果为a=5678。
scanf("%d%d%d",year,month,day); //这里不好区分年月日吧,分三行写吧。
t==f(year,month); //==应该为=
if (x%4=0x%100!=0||x%400=0) //=应该为==
改了这3处你再试试。
#include cstdlib
#include iostream
using namespace std;
int days(int year,int month)
{
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
break;
case 2:
if(year%400==0 ||(year%100!=0 year%4==0))
return 29;
else
return 28;
break;
case 4:
case 6:
case 9:
case 11:
return 30;
break;
default:
return 0;
break;
}
}
int main(int argc, char *argv[])
{
int year,month,day;
printf("输入年份:\n");
scanf("%d",year);
printf("输入月份:\n");
scanf("%d",month);
day=days(year,month);
printf("%d年%d月有%d天。\n",year,month,day);
system("PAUSE");
return EXIT_SUCCESS;
}
int GetMonthDays(int year,int month)
{
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
break;
case 4:
case 6:
case 9:
case 11:
return 30;
break;
case 2:
if((year%4==0 year%100!=0 ) || (year%400==0))
{
return 29;
}
else
{
return 28;
}
break;
default:
printf("month error!");
return 0;
break;
}
}
用switch选择的:
#includestdio.h
int main()
{
int y,m;
printf("请依次输入年,月:\n");
scanf("%d,%d",y,m); //上机时注意打逗号,也可修改为其他格式
switch(m)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:printf("这个月有31天\n");break;
case 2 : if(y%4==0y%100!=0||y%400==0) //最基本的判断闰年的条件
printf("这个月有29天\n");
else printf("这个月有28天\n");break;
case 4:
case 6:
case 9 :
case 11:printf("这个月有30天\n");break;
}
return 0;
}
用指针型列举的:
#includestdio.h
int a[]={31,28,31,30,31,30,31,31,30,31,30,31},*p1,*p2,*p3,i=1,k=0;
int main()
{
int p1,p2;
printf("请依次输入年·月:\n");
scanf("%d%d",p1,p2);
if(p1%4==0p1%100!=0||p1%400==0)
a[1]=29;
if(p212)
printf("您的输入有误!\n");
printf("这个月的天数为:%d\n",a[p2-1]);
return 0;
}#include stdio.h
main()
{int a,b;
printf("请输入年份和月份:\n");
scanf("%d%d",a,b);
if (a%4==0a%100!=0)
if(b==2)
printf("这个月有29天\n");
else if (b==1||b==3||b==5||b==7||b==8||b==10||b==12)
printf("这个月有31天\n");
else
printf("这个月有30天\n");
else if(b==2)
printf("这个月有28天\n");
else if (b==1||b==3||b==5||b==7||b==8||b==10||b==12)
printf("这个月有31天\n");
else
printf("这个月有30天\n");}
普通
#include stdio.h
main(){
int a,b;
printf("请输入年份和月份:\n");
scanf("%d%d",a,b);
if (a%4==0a%100!=0)
if(b==2)
printf("这个月有29天\n");
else if (b==1||b==3||b==5||b==7||b==8||b==10||b==12)
printf("这个月有31天\n");
else
printf("这个月有30天\n");
else if(b==2)
printf("这个月有28天\n");
else if (b==1||b==3||b==5||b==7||b==8||b==10||b==12)
printf("这个月有31天\n");
else
printf("这个月有30天\n");}
扩展资料
switch 语句可以处理多分支选择问题,根据其中break 语句的使用方法,一般分三种情况。
在switch 语句的每个语句段中都使用break 语句,这是switch 语句的主要使用方法,一般形式为:
switch (表达式)
case 常量表达式1: 语句段1; break;
case 常量表达式2: 语句段2; break;
case常量表达式n: 语句段n; break;
case常量表达式n+1:语句段n+ 1; break;
default :
参考资料c语言百度经验