c语言:编写函数返回某个月包含的天数,我的代码一直返回0,大佬帮忙看看哪儿错了呀?
C语言中return 0.表示程序返回0
c语言中的return一般有两个作用:
一个是返回函数值。这一点如同数学函数y=1+x²一样,函数经过内部计算,把1+x²的值带回来。但对于不需要返回值的函数来讲,就不用return了,如:
void print(int n)
{
printf(“n=%d”,n);
}
当然,现在有的版本的c语言要求所有的函数都要有返回值,那就不能用void了。要写成:
int print(int n)
{
printf(“n=%d”,n);
return 0;
}
此时写成return1还是0都可以。因为后面的程序是用不到返回值的。
2、指示函数的运行状态。对于返回值可有可无的函数,有时用不同的return值代表不同的运行状态,如用0表示正常运行,1代表出错,以便于程序后续处理。
题目是;编写程序 输入某年某月,求该月的天数 可是我老错,求大佬指点错在那
|#include<stdio.h>
//判断平年和闰年
int isRunNian(int year){
int bFlage;
bFlage = (year%4==0&&year%100!=0)||(year%400==0)?1:0;
return bFlage;
}
//返回每个月有多少天
int monthDay(int year,int month){
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){
return 31;
}else if(month==4||month==6||month==9||month==11){
return 30;
}else if(month==2){
if(isRunNian(year)==1){
return 29;
}else{
return 28;
}
}
}
void main(){
int year,month;
printf("请输入年份:");
scanf("%d",&year);
while(year<=0){
printf("年份必须大于0!\n\n");
printf("请输入年份:");
scanf("%d",&year);
}
printf("请输入月份:");
scanf("%d",&month);
while(month>12||month<1){
printf("月份必须在1到12之间!\n\n");
printf("请输入月份:");
scanf("%d",&month);
}
printf("%d年%d月有%d天!\n",year,month,monthDay(year,month));
}
c语言编程 输入月份数。相应输出该月天数
没有输入年份,不考虑闰年问题
void main(void)
{
int mouth = 0;
int days[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
scanf("%d",&mouth);
if(1>mouth || 12 < mouth) { puts("error");return;}
printf("days are: %d",days[mouth]);
}
用C语言编程序"输入月份,输出对应的天数"
这个要考虑闰年,所以还要输入年份
#include
{
int year,mount;
int buf[13] = {0,31,0,31,30,31,30,31,31,30,31,30,31};
printf("请输入年份月份用空格隔开\n");
while(1)
{
scanf("%d%d",&year,&mount);
if(mount<13&&mount>0)
break;
else
printf("月份输入错误请重新输入年份月份用空格隔开\n");
}
if(mount!=2)
{
printf("本月有%d天\n",buf[mount]);
}
else
{
if(year%4==0&&year%100!=0||year%400==0 ? 1:0)
printf("本月有29天\n");
else
printf("本月有28天\n");
}
return 0;
}