當前位置:首頁 » 編程語言 » 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跟變長數組沒有太大的關系,也應該用不到變長數組。因為一般的傳數組到函數中就是傳數組的地址和元素的個數的,那隻是一個提示,不是要求。