1. 首页 > 科技

c语言:编写函数返回某个月包含的天数,我的代码一直返回0,大佬帮忙看看哪儿错了呀?

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 main(void)

{

 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;

}