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

如题所述

1 创建10个数的数组;

2 输入10个数;

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

4 输出最大值及下标。

代码:

int main()
{
    int a[10];
    int i,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\n",a[max],max);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-09
#include <stdio.h>
//求数组T中前len个元素的最大值
template<class AType>
AType max(AType *T,int len){
AType max=T[0];
for(int i=0;i<len;i++){
if(max<T[i])
max=T[i];
}
return max;
}
void main(){
int test[20]={0},len=10;
for(int i=0;i<len;i++){
scanf("%d",&test[i]);
}
printf("max=%d \n",max(test,len));
}
第2个回答  2013-08-09
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[10];
int max,maxi;
for(int i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
max=a[0];
maxi=0;
for(int i=0;i<10;i++)
{
if(a[i]>max)
{
max=a[i];
maxi=i;
}
}
printf("%d %d",max,maxi);
}本回答被网友采纳
第3个回答  2013-08-09
#include "Stdio.h"
int FindMax(int num[],int n,int *pMaxpos);
main()
{
int num[10],maxValue,*maxPos,i;
maxPos=(int *)malloc(sizeof(int));
printf("Input 10 numbers:\n");
for(i=0;i<10;i++)
{
scanf("%d",&num[i]);
}
maxValue=FindMax(num,10,maxPos);
printf("Max=%d,Position=%d\n",maxValue,*maxPos);
}int FindMax(int num[],int n,int *pMaxPos)
{
int i,max;
max=num[0];
for(i=1;i<n;i++)
{
if(num[i]>max)
{
max=num[i];
*pMaxPos=i;
}
}
return max;
}
相似回答