函数的功能尽量单一,不要设置的复杂

if、else if是数字走过if就不去else了,所以当有两个判断可重新开一个if

把返回值注释2清楚,先写main里的在去先函数

void这个不需要很麻烦

//闰年1000-2000,1可以呀被4整除但不能被100整除,2可以被400整除 
  /*int main()
  { 
  	int year=0;
  	int count=0; 
  	for(year=1000;year<=2000;year++)
  	{
  	/*	if((year%4==0)&&(year%100!=0)||(year%400==0))//另一种方法&&并且,||或 
  		{
  			printf(" %d",year);
  			count++;
		   } */
  /*		if(year%4==0)
  		{
  			if(year%100!=0)//!表示不等于0 
  			{
  				printf(" %d",year);
  				count++;
			  }
		  }
		//else if(year%400==0)//这个不行,如果是2000从第一个if进来不通过,就不走else if
		//因为if,else if是一套,所以只能重新开个if 
		if(year%400==0)
		{
			printf(" %d",year);
			count++;
		 } 
 }
  	printf("\n闰年数量:%d",count);
  	
  	return 0;
   } */
   //函数求闰年
  /* int is_leap_year(int y)//函数的功能尽量单一0 
   {
   	if((y%4==0) && (y%100!=0)||(y%400==0)) 	
  	  return 1;//是闰年返回1 
  	else
  	  return 0;   
   }
    int main()
  { 
  	int year=0;
  	int count=0; 
  	
  	for(year=1000;year<=2000;year++)
  	{
  		if(is_leap_year(year)) //学习命名 
  		{
  			printf(" %d",year);
  			count++;
		  }
    }
	printf("\n闰年数量:%d",count); 
	return 0;
}*/

int flag=0;//全局变量 把void leap的值给flag 
 void is_leap_year(int x)
 {
 	if((x%4==0) && (x%100!=0)||(x%400==0))
 	 flag=1;//当flag=1是闰年 
  	else
  	  flag= 0;  
 }
   
    int main()
  { 
  	int year=0;
  	int count=0; 
  	
  	for(year=1000;year<=2000;year++)
  	{
  		is_leap_year(year) ; 
  		if(flag==1)//调用flag的数据 
  		{
  			printf(" %d",year);
  			count++;
		  }	  
    }
	printf("\n闰年数量:%d",count); 
	return 0;
}

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐