当前位置:首页 » 编程语言 » c语言寻找数组最大下标
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言寻找数组最大下标

发布时间: 2023-08-17 16:11:32

① 3.编程输入10个数,找出其中的最大值及其所在的数组下标位置。 用c语言编写

1 创建10个数的数组;

2 输入10个数;

3 以第一个数为最大值,并遍历剩余9个数,与最大值比较,得到最大值下标。

4 输出最大值及下标。

代码:

intmain()
{
inta[10];
inti,max;
for(i=0;i<10;i++)
scanf("%d",a+i);
for(max=0,i=1;i<10;i++)
if(a[max]<a[i])max=i;
printf("%d,%d ",a[max],max);
}

② C语言编程 题目:求一个数组中最大值及其下标

#include<stdio.h>

voidmain()
{
inta[5]={2,10,5,16,8};

intindex=0;

intmaxNum=a[0];
for(inti=0;i<5;i++)
{
if(maxNum<a[i])
{
maxNum=a[i];
index=i;
}
}

printf("最大数:%d,下标:%d ",maxNum,index);
}

③ 用C语言编程.写出一函数,求出有N个元素的整数数组的最大值及其下标。

楼主,我的程序如下。函数max读入一个n元素的数组a,返回其中最大元素的地址。这样,在调用max的函数中(这里是main),可以通过两种运算分别得到最大元素的值和它的下标(见main中注释)
#include
int
*
max(int
*
a,
int
n)
{
int
i;
int
*
p
=
a;
for
(
i
=
0;
i
<
n;
i++
)
if
(
a[i]
>
*p
)
p
=
a+i;
return
p;
}
int
main(void)
{
int
a[10];
int
i;
int
*
ans;
printf(
"Please
input
ten
integers:\n"
);
for
(
i
=
0;
i
<
10;
i++
)
scanf(
"%d",
a+i
);
ans
=
max(a,
10);
/*
ans中现在存的是数组a中最大元素的地址
*/
printf(
"The
index
is
%d,
the
max
is
%d\n",
ans-a,
*ans
);
/*
ans-a求得的是最大元素的下标,
*ans得到的最大元素的值
*/
return
0;
}

④ C语言中数组下标最大为多少

数组下标最大为数组个数减一,例如定义:int a[5];则数组a的下标最大为4;

因为在c语言中数组的下标是从0开始的,这样从0到数组个数减一,共数组的总个数。

例如:

#include<stdio.h>
intmain()
{
inta[5],i;//定义一个大小为5的整型数组。
for(i=0;i<=4;i++)//依次对数组的下标为0到4进行赋值
scanf("%d",&a[i]);
for(i=0;i<=4;i++)//依次输出各值
printf("%d",a[i]);
return0;
}
/*
运行结果:
12345
12345
*/

⑤ C语言:定义一个符号常量N,从键盘上输入有N个元素的数组a,找出其中的最大数及其下标。

#include<stdio.h>
#defineN10
intmain()
{
inti,*max,a[N];
for(i=0;i<N;i++)
{
printf("请输入第%d个数:",i);
scanf("%d",&a[i]);
}
max=&a[0];
for(i=1;i<N;i++)
if(*max<a[i])
max=&a[i];
printf("最大值max=%d ",*max);
printf("最大值下标为:%d",max-&a[0]);
return0;
}

大致是这样,编译环境是VC6.0

希望对你有帮助。

⑥ C语言:找出数组中最大元素的位置(下标值)

#include<stdio.h>
#include<math.h>
intmain()
{
intn,a[10];
inti,max,loc;
while((n=getchar())!=EOF)
{
for(i=0;i<n-'0';i++)
scanf("%d",&a[i]);
max=a[0];
loc=0;
for(i=1;i<n-'0';i++)
{
if(a[i]>max)
{
max=a[i];
loc=i;
}
}
printf("%d%d ",max,loc);
fflush(stdin);
}
return0;
}

小小修改即可,scanf()!=EOF并不能达到你想要的目的 ,改成上面用getchar即可。

运行结果如下:

#include<stdio.h>
#include<math.h>
intmain()
{
intn,a[10];
inti,max,loc;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
max=a[0];
loc=0;
for(i=1;i<n;i++)
{
if(a[i]>max)
{
max=a[i];
loc=i;
}
}
printf("%d%d ",max,loc);
//fflush(stdin);
}
return0;
}

⑦ C语言编程题:定义一个长度为10的数组,求最大值及下标。

C语言程序如下:

#include <stdio.h>

void fun(int a[],int n,int *k)

{

int i,maxxr,j;

maxxr=a[0];

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

{

if(maxxr<a[i])

{

maxxr=a[i];

}

}

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

{

if(maxxr==a[i]){

j=i;

break;

}

}

*k=j;

}

int main(void)

{

int a[10]={ 876,675,896,101,301,401,980,431,451,777},k;

fun(a, 10, &k);

printf("%d,%d", k, a[k]);

}

(7)c语言寻找数组最大下标扩展阅读:

思路:

1、先定义数组(其数组长度取最大值,题目要求为10),然后通过for循环给数组一个个赋值,即可得到一个数组;

2、找数组的最大值,这一步是最关键的一步,由于所输入的值不确定那个是最大值,故可以先设置另一个一个变量(index)来存储最大值变量的下标。

3、紧接着继续在数组里for循环,逐一跟下标为index的值相比较,如果比下标为index的值大,这时候就将两者中数值大的下标赋值给index。

4、按要求输出。