C语言编程:求出一维数组中最小元素的值以及它所在的下标号

供稿:hz-xin.com     日期:2025-01-13
用C语言编程求出任意一个一维数组元素中最大值和最小值的下标。数组元素的值由用户键盘输入。?

代码: #include
void main()
{
int a[10],i,max_f,min_f,max,min;
for(i=0;i<10;i++)
{
printf("请输入第%d个数的值(共10个):
",i+1);
scanf("%d",&a[i]);
if(i==0)
{
max=a[0];
min=a[0];
max_f=0;
min_f=0;
}
else
{
if(a[i]>max)
{
max=a[i];
max_f=i;
}
if(a[i]<min)
{
min=a[i];
min_f=i;
}
} }
printf("最大值的下标是%d(下标从0开始)
",max_f);
printf("最小值的下标是%d(下标从0开始)
",min_f);
} 图:

#include
#define M 5//自己定义数组的长度
void main()
{
int i,n=0,min;
int a[M];
printf("请输入%d个数,用空格隔开:",M);
for(i=0;i<5;i++)
scanf("%d",&a[i]);
min=a[0];
for(i=1;i<M;i++)
if(a[i]<=min)
{
min=a[i];
}
printf("这组数组中最小的数是%d,分别是:
",min);

for(i=0;i<5;i++)
if(a[i]==min)
printf("a[%d] ",i);
}

//这个程序的好处是能输出所有的最小数的下标,比如1,1,2,3,4中能输出a[0],a[1],而上面三位的不能
#include <stdio.h>
#define M 5//自己定义数组的长度
void main()
{
int i,n=0,min;
int a[M];
printf("请输入%d个数,用空格隔开:",M);
for(i=0;i<5;i++)
scanf("%d",&a[i]);
min=a[0];
for(i=1;i<M;i++)
if(a[i]<=min)
{
min=a[i];
}
printf("这组数组中最小的数是%d,分别是:\n",min);

for(i=0;i<5;i++)
if(a[i]==min)
printf("a[%d] ",i);
}

好像有点写复杂了,楼主可以思考一下,如何优化我的代码,这样也是很有助于学习的。呵呵!



#define N 10
#include <stdio.h>
main()
{
int a[N];
int i;
int min=32767;
int x=0;
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
if(a[i]<min)
x=i;
min=a[i];
}
printf("最小元素值是%d,下标是%d",min,x);
}

看不懂的话再说。。给你加注释

#include <stdio.h>
#define LEN 10
int a[LEN] = {5, 7, 12, 3, 38, 22, 1, 118, 9, 73};
int main(void)
{
int min = a[0], index = 0;
for (int i = 0; i < LEN; i++)
{
if (a[i] < min)
{
min = a[i];
index = i;
}
}
printf("最小元素的值: %d, 下标: %d\n", min, index);
return 0;
}

素的和、平均值、最小值和最大值及其所在的行号和列

#include <stdio.h>
#define M 100
int main()
{
float c[M];
int i,n=0;
float sum=0.0,ave,min,max;//和、平均值、最小值和最大值
int minx,maxx;//最小值和最大值所在列

printf("输入实数\n");
for(i=0;i<M;i++)
scanf("%f",&c[i]);
min=max=c[0];
minx=0;
maxx=0;
for (i=0;i<M;i++)
{
sum +=c[i];
if(min>c[i])
{
min=c[i];
minx=i;
}
if(max<c[i])
{
max=c[i];
maxx=i;
}
}

ave=sum/M;

printf("和为:%f,平均值为:%f\n",sum,ave);
printf("最小值为:%f,所在列:%d\n最大值为:%f,所在列:%d\n",min,minx,max,maxx);
return 0;
}
另外,站长团上有产品团购,便宜有保证

C语言编写函数,寻找具有n个元素的一维数组中的最大值和最小值,并返回...
include<stdio.h>double fun(int a[],int n,int *max,int *min){int i,s; *max=*min=s=a[0]; for(i=1;i<n;i++) {if(a[i]>*max)*max=a[i]; if(a[i]<*min)*min=a[i]; s+=a[i]; } return (float)s\/n; }int main(){int n,max,min,i,a[100...

...一个一维整型数组,并找出数组元素中最大值和最小值及其相应下标...
for (j=0; j<LEN; j++){ scanf("%d", &a[j]);if (a[j] == 0)break;}min=max=a[0];for (i=1; i<j; i++){ if (a[i]<min){ min = a[i];iMin = i;}if (a[i]>max){ max = a[i];iMax = i;} }printf("值最小的元素为: %d,其下标为: %d \\n", min,...

C语言编程:求一个整型一维数组中的最大值和最小值,要详细解答,急求谢谢...
给你写了一个。include <stdio.h> void main(){ int array[10] = {555,123,35,678,345,10,247,108,15,67};int i,min = array[0],max = array[0];for(i=0;i<10;i++){ min = min<array[i]?min:array[i];max = max>array[i]?max:array[i];} printf("max=%d\\nmin=...

C语言题:计算并输出一维数组中的最大值、最小值和平均值
2.55,45,37.5},max,min,s=0; int i; max=min=a[0]; printf("数组中的数:\\n"); for(i=0;i<9;i++) {s+=a[i]; if(maxa[i])min=a[i]; printf("%g ",a[i]); } printf("\\n最大值=%g\\n最小值=%g\\n平均值=%g\\n"...

C语言中怎样用指针找出一维数组中的最大值和最小值并输出它们的下标_百 ...
1、新建一个工程和.c文件,并且输入主函数和头文件。2、定义全局变量。3、定义变量类型。4、用两个for语句给数组元素赋值。5、调用求最小值的函数。6、函数的总体流程如下图。7、在主函数中输出结果,编译、运行,得到最后结果。

C语言指针实现自定义函数求一维数组中的最大值和最小值
楼上正解 include <stdio.h> define N 10 void fun(float *x,float *a,float *b,int n){ int k;a=*b=x[0];for(k=1;k<n;k++){ if(x[k]>*a) *a=x[k];else if(x[k]<*b)b=x[k];} } void main(void){ float a[N],*p=a,max,min;printf("shuru\\n");for(...

输入10个实数存入一维数组,输出其中的最大值、最小值和平均值。_百度知...
例如,编写一个程序,输入10个实数存入一维数组,并计算出这些数中的最大值、最小值和平均值。具体实现可以通过循环和条件语句来完成。首先定义一个浮点型数组a,大小为10。接着,使用指针p指向数组a,通过循环从用户那里获取输入,将输入的值依次存入数组a的各个元素中。

c语言编程:编制函数,其功能是在float类型一维数组中查找最大值、最小...
\/\/数组版本 include <stdio.h> define N 100 int main(){ float max,min,a[N];int n,i;scanf("%d",&n);for(i=0;i<n;i++)scanf("%f",a+i);for(max=min=a[0],i=1;i<n;i++){ if(a[i]>max)max=a[i];if(a[i]<min)min=a[i];} printf("%g %g",max,min);ret...

用c语言,键盘输入一维数组a[10]的每一个元素,使用子函数(要求实参使用...
include <stdio.h> int main(){ void fun(int arr[]);int a[10];int i;printf("please input 10 numbers:\\n");for(i=0;i<10;i++){ scanf("%d",&a[i]);} fun(a);} void fun(int arr[]){ int j,m=0,n=0,max=arr[0],min=arr[0];for(j=1;j<10;j++){ if(arr...

...的一维整形数组a 输入十个不同数值 求a中最小元素及所在位置_百度知 ...
include <bits\/stdc++.h>using namespace std; int a[11]; int main(){ int minpo=1; for (int i=1;i<=10;i++){ scanf("%d",&a[i]); if (a[i]