C语言,C语言! 输入一个正整数n(1<n<=10),再输入n个整数,将它们存入数组a中。输出最大

C语言,C语言!
输入一个正整数n(1<n<=10),再输入n个整数,将它们存入数组a中。输出最大值和它对应的下标

第1个回答  2018-02-23
#include<stdio.h>
#include<stdlib.h>

int main(void)
{
    int n;
    printf("输入正整数n(1<n<=10):\n");
    scanf("%d",&n);
    int *a;
    a=(int *)malloc(sizeof(int)*n);
    int i,flag=0;
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    int max=a[0];
    for(i=1;i<n;i++)
    {
        if(max<a[i])
        {
            max=a[i];
            flag=i;
         }
    }
    printf("max=%d,i=%d",max,flag);
    free(a);
    return 0;
}

第2个回答  2015-04-26
#include<stdio.h>
main()
{
int a[50],n,i,min,mini;
printf("input n(n<=20):");
scanf("%d",&n);
printf("input %d nums:\n",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
min=a[0];
mini=0;
for(i=0;i<n;i++)
if(a[i]<min)
{min=a[i]; mini=i;}
printf("the min:a[%d]=%d\n",mini,min);
}本回答被网友采纳
第3个回答  2018-02-23
#include <stdio.h>
#include <stdlib.h>
void main()
{
const int maxN=10;
int value[maxN];
int n=0;
int maxCOUNT=0;
while(1)
{
printf("N=");
scanf("%d",&n);
if(n<2 || n>maxN)
printf("ERROR:1<N<=10\n\n");
else
break;
}

maxCOUNT=n;
for(int i=0;i<n;i++){
printf("value[%d]=",i);
scanf("%d",&value[i]);
if(value[i]==-1){
maxCOUNT=i-1;
break;
}
}
int maxValue=0;
for(int i=0;i<maxCOUNT;i++){
if(value[i]>maxValue){
maxValue=value[i];
n=i;
}
}
printf("n=%d,maxValue=%d",n,maxValue);
system("pause");
}
相似回答