当前位置:首页 » 编程语言 » c语言如何求数组连续多少项和最少
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言如何求数组连续多少项和最少

发布时间: 2022-10-03 01:45:32

A. c语言如何求一个数组的最大值和最小值

data_type
max=0;//定义两个全局变量,max表示最大值
data_type
min=0;//min表示最小值
void
func(data_type
a[],int
n)//传递数组名与数组的大小n
{
max=min=a[0];//初始化
for(int
i=0,i<n,i++)//循环n次
{
if(max<a[i])
max=a[i];//如果当前的a[i]比max大,则max取a[i]
if(min>a[i])
min=a[i];//同理
}
reture;//返回
}

B. 请教c语言高手,关于数组求最小值和次小值

#include<stdio.h>
#define SIZE 8
void find(int a[],int size,int*p1,int*ap1,int*p2,int*ap2);
int ifmin(int a1,int a2);
main()
{
int a[SIZE]={5,15,25,76,16,45,55,35};
int min,submin,amin,asubmin;
if(SIZE<=1)
{ printf("There should be more numbers.");
return 0;}
find(a,SIZE,&min,&amin,&submin,&asubmin);
printf("The smallest is a[%d]=%d\n",min,amin);
if(submin!=-1)
printf("The subsmallest is a[%d]=%d\n",submin,asubmin);
else printf("All the numbers are the same.\n");
return 0;
}
void find(int a[],int size,int*p1,int*ap1,int*p2,int*ap2)
{
int i=1,k,j;
k=ifmin(a[0],a[1]);
while(k==0&&i<=size-2)
{i++;
k=ifmin(a[0],a[i]);} /*针对数组前几个值相等的情况*/
if(k==0)
{*ap1=a[0]; /*对应于所有值都相等的情况*/
*p1=0;
*p2=-1;}
else if(k==-1) /*先赋初值*/
{*p1=0;
*ap1=a[0];
*p2=i;
*ap2=a[i];}
else
{*p1=i;
*ap1=a[i];
*p2=0;
*ap2=a[0];}
for(j=i+1;j<=size-1;j++) /*在循环中修正*/
{if(*ap1>a[j])
{
*ap2=*ap1;
*p2=*p1;
*ap1=a[j];
*p1=j;}
else if(*ap1!=a[j]&&*ap2>a[j]) /*确保次小值不被多次出现的最小值覆盖*/
{*ap2=a[j];
*p2=j;}}
}
int ifmin(int a1,int a2) /*判断值是否相等*/
{
if(a1==a2)
return 0;
else if(a1<a2)
return -1;
else return 1;
}

C. c语言编程利用数组的知识求一组数据的最小值

用C11的变长数组,但是最终还是需要确定数组a里面的n值,变长数组最主要是用来做数值计算的。我觉得你提出的这个问题其实没有多大的实际意义,可以考虑用链表。

D. c语言,输入30个数并放在一个数组中,输出其中的最大值和最小值,并求30个数的和以及平均数

#include<stdio.h>
voidmain()
{
inti,max,min,s=0,a[30];
scanf("%d",&a[0]);
max=a[0];min=a[0];s=a[0];
for(i=1;i<30;i++)
{
scanf("%d",&a[i]);
s+=a[i];
if(min>a[i])min=a[i];
if(max<a[i])max=a[i];
}
printf("max=%d,min=%d s=%d,avg=%.2f",max,min,s,s/30.0);
}

E. C语言编程,多种方法求一个数组里的最大值和最小值。

因为只是找出最大最小值,直接循环每个比较一次就可以。

#include<stdio.h> //挑选法

#define N 10

void main() { int a[N],m,n,i;

for ( i=0;i<N;i++ ) scanf("%d",&a[i]);

m=n=a[0]; for ( i=1;i<N;i++ ) if ( m<a[i] ) m=a[i]; else if ( n>a[i] ) n=a[i];

printf("最大值%d,最小值%d ",m,n);

}

#include<stdio.h> //排序法

#define N 10

void main() { int a[N],i,j,k;

for ( i=0;i<N;i++ ) scanf("%d",&a[i]);

for ( i=0;i<N-1;i++ ) for ( j=i+1;j<N;j++ ) if ( a[i]<a[j] ) {k=a[i];a[i]=a[j];a[j]=k;}

printf("最大值%d,最小值%d ",a[0],a[N-1]);

}

(5)c语言如何求数组连续多少项和最少扩展阅读:

C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。

F. c语言求数组总最大值与最小值

inta[10],i,min=a[0],max=a[0];//此处a[0]尚未初始化,max与min成为一个随机数

修改后如下:

#include<stdio.h>

intmain(){
inta[10],i,min,max;
scanf("%d",&a[0]);
max=min=a[0];
for(i=1;i<9;i++){
scanf("%d",&a[i]);
if(a[i]>max){
max=a[i];
}elseif(a[i]<min)
min=a[i];
}
printf("%d,%d",min,max);
return0;
}

G. 用c语言编写求数组元素最大值和最小值!谢谢各位大佬

1、apply方式,借用Math中的max/min方法实现。

H. C语言,求数组最大最小值

求数组中的最大值和最小值,一般使用假设法,即假设数组的第1个元素为最大值,同时也是最小值,然后遍历数组,找到最大值和最小值。示例如下:

#include<stdio.h>
intmain()
{
inta[]={1,2,3,4,5,6,7,8,9,10};
intmax,min;
max=min=a[0];//假设第1个元素即是最大值也是最小值。
intmax_pos=0,min_pos=0;
//遍历数组,找出数组a中的最大数和最小数
for(intinx=0;inx!=sizeof(a)/sizeof(int);++inx){
if(a[inx]>max)max=a[inx],max_pos=inx;
elseif(a[inx]<min)min=a[inx],min_pos=inx;
}
printf("最大数:%d 最小数:%d ",max,min);
return0;
}

I. C语言用数组求10个数的最大最小值总和平均值

#include "stdio.h"
void main()
{
int i;
float num[10],max,min,sum,ave;
for(i=0;i<10;i++)
scanf("%f",&num[i]);
printf("\n");
max=num[0];
for(i=1;i<10;i++)
if (num[i]>max)
max=num[i];
min=num[0];
for(i=2;i<10;i++)
if (num[i]<min)
min=num[i];
sum=0.0;
for(i=0;i<10;i++)
sum=sum+num[i];
ave=sum/10;
printf("max=%f,min=%f,sum=%f,ave=%f",max,min,sum,ave);
}

数组的下标都是从0开始,而不是从1开始,定义为num[10],如果你想取第10个数的时候,就只能是num[9],否则会越界

J. C语言数组怎样求和,

先获取数组长度,然后用for循环,从数组中获取值进行累加求和。

#include

#include

int main()

{

int n;

int val;

int * a;

int sun = 0, i;

printf("请输入数组的长度:");

scanf("%d", &n);

printf(" ");

a = (int *)malloc(n * sizeof(int));//为数组a动态分配内存

for(i = 0; i < n; i++)

{

printf("请输入数组的第%d个元素的值:", i+1);

scanf("%d", &val);

printf(" ");

a[i] = val;

}

for (i = 0; i < n; i++)

{

sun+=a[i];//sun+=a[i]相当于sun=sun+a[i];

}

printf("sun = %d ",sun);

free(a);//释放a动态分配的内存

return 0;

}

(10)c语言如何求数组连续多少项和最少扩展阅读:

一个数组中的所有元素具有相同的数据类型(在C、C++、Java、pascal中都这样。但也并非所有涉及数组的地方都这样,比如在Visual Foxpro中的数组就并没这样的要求)。当然,当数据类型为 Variant 时,各个元素能够包含不同种类的数据(对象、字符串、数值等等)。可以声明任何基本数据类型的数组,包括用户自定义类型和对象变量。

如果要用户输入的是一个数组,一般是用一个循环,但是在输入前也需要固定数组的大小。

compact跟变长数组没有太大的关系,也应该用不到变长数组。因为一般的传数组到函数中就是传数组的地址和元素的个数的,那只是一个提示,不是要求。