C语言求数组a中所有小于0的元素

C语言求数组a中所有小于0的元素...
2026年09月23日 06:12
有3个网友回答
网友(1):

参考程序:

#include "stdio.h" 

int maxa(int * a,int l,int* s,int* e)   /*用s和e 记录子数组起始和终止地址,l是数组长度*/

{

 int summax=0;  /*最大子数组的和*/

 int sumcur=0;    /*当前和*/

 int i; 

 *s=0;*e=0;

 for(i=0;i

 {  

  sumcur+=a[i];

  if(sumcur>summax)

  {

   summax=sumcur;

   *e=i;

  }

  else if(sumcur<0)

  {

   sumcur=0;

   *s=i+1;

  }  

 }

 if(summax<=0)   

 {

  summax=a[0];

  for(i=0;i

  {

   if(summax

   {

    summax=a[i];

    *s=i;

    *e=i;

   }

  }

 }

 return summax;

}

int main() 

 int a[]={1,-2,3,10,-4,7,2,-5};

 int start,end; 

 printf("最大子数组的和为:%d\n",maxa(a,8,&start,&end));

 printf("最大子数组的元素下标从%d到%d:\n",start,end); 

 while(start<=end)

 {

  printf("%d  ",a[start++]);

 }

 printf("\n");

 return 0; 

}

运行结果:

网友(2):

#include

int main(){
int n,i,num[1000];
scanf("%d",&n);
for(i=0;i scanf("%d",num+i);
for(i=0;i printf("%d ",num[i]);

return 0;}

网友(3):

循环加判断