C语言编程题:定义一个长度为10的数组,求最大值及下标。
7个回答
展开全部
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]);
}
扩展资料:
思路:
1、先定义数组(其数组长度取最大值,题目要求为10),然后通过for循环给数组一个个赋值,即可得到一个数组;
2、找数组的最大值,这一步是最关键的一步,由于所输入的值不确定那个是最大值,故可以先设置另一个一个变量(index)来存储最大值变量的下标。
3、紧接着继续在数组里for循环,逐一跟下标为index的值相比较,如果比下标为index的值大,这时候就将两者中数值大的下标赋值给index。
4、按要求输出。
展开全部
#include <stdio.h>
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);
}
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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
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);
}
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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
引用星月小木木的回答:
#include<stdio.h>
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);
}
#include<stdio.h>
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);
}
展开全部
没有对i进行定义吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询