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

2024-11-08 13:53:02
推荐回答(5个)
回答1:

C语言程序如下:

#include

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

{

int i,maxxr,j;

maxxr=a[0];

for(i=0;i

{

if(maxxr

{

maxxr=a[i];

}

}

for(i=0;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]);

}

扩展资料:

思路:

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

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

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

4、按要求输出。

回答2:

#include
void main()
{
//定义数组
int a[10] = {1,2,3,-4,5,6,-7,8,9,-10};
//给最大值、下标赋值
int max=a[0], pos=0;
//循环
for(int i=1; i<10; i++)
{
//判断循环的a[i]是否大于最大值a[0]=1;
if (a[i] > max)
{
//如果大于则把a[i]的值附给max
max = a[i];
//把i赋值给pos
pos = i;
}
}
//输出最大值和下标
printf("最大值=%d\n下标=%d\n", max, pos);
}

回答3:

#include

void main()
{
int max;
int a[10];
int h;
printf("please input 10 number\n");
for(int i = 0; i < 10; i++)
scanf("%d",&a[i]);
max = a[0];
for(i = 0; i < 10; i++)
{
if(a[i] > max)
{
max = a[i];
h = i;
}
}
printf("最大值是:%d, 下标是:%d\n", max, h);
}

回答4:

#include
int main()
{
float a[10];
int i,id=0;
float max;
printf("请输入10个数,以回车键隔开\n");
for(i=0;i<10;i++)
scanf("%f",&a[i]);
max=a[0];
for(i=1; i<10; i++)
if (a[i] > max)
{
max = a[i];
id = i;
}
printf("最大值=%f\n下标=%d\n", max, id);
return 0;
}

回答5:

没有对i进行定义吧