C语言 输入10个整数,找出最大与最小的数,并指出在数组中的位置

如题所述

//******************************************************************************
// C语言 输入10个整数,找出最大与最小的数,并指出在数组中的位置
//******************************************************************************
#include<stdio.h>
int main()
{
int a[10], i, max, min;
for(i = 0; i < 10; i++)
{
scanf("%d", &a[i]); //输入十个数
if(i == 0) //初始化最大值,最小值的位置为0
max = min = 0;
if(a[max] < a[i]) //找出最大值的位置
max = i;
if(a[min] > a[i]) //找出最小值的位置
min = i;
}
printf("max number:a[%d] min number:a[%d]\n", max, min);
}

//祝你学习进步,更上一层楼!(*^__^*)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-15
算法应该很easy啊 直接建2个变量 max, min
数据data[10]
max=data[0];
min=data[0];
然后依次比较十个数,大的替换掉max,小的替换掉min
扫完即可知道最大 最小,位置就是data[i]中的i。。
第2个回答  2011-11-15
void main()
{
int *p;
int i,j,k;
p=(int *)malloc(sizeof(*p));
for(i=0;i<9;i++)
{
scanf("%d",*(p+i));
}
j=*p;\\j=p[0];
for(i=1;i<9;i++)
{
if(j>p[i])
{
j=p[i];
k=i;
}
}
printf("%d,%d",j,k);
}
这个是找最小,找最大就是把不等号换个方向,这个是我临时写的,假如有错误的话请自己改一下吧,我也是比较粗心的……
第3个回答  2011-11-15
#include <stdio.h>
void main()
{
int a[10],i,t,s,k,n,max,min;
printf("请输入10个正整数\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
max=a[0],min=a[0];n=0;k=0;
for(i=0;i<10;i++)
{
if(a[i]>max)
{
max=a[i];
n=i;
}
if(a[i]<min)
{
min=a[i];
k=i;
}
}
printf("max=%d=a[%d]\n",max,n);
printf("min=%d=a[%d]\n",min,k);
}

//运行情况:
请输入10个正整数
2 4 6 8 10 1 3 5 7 9
max=10=a[4]
min=1=a[5]
请按任意键继续. . .
第4个回答  2011-11-15
#include<stdio.h>
void main()
{
int a[10],countmax=0,countmin=0,max,min;
for(int i=0;i<10;i++)
scanf("%d",&a[i]);
max=a[0];
for(int j=1;j<10;j++)
if(max<a[j])
{
max=a[j];
countmax=j;
}
countmax++;
min=a[0];
for(int k=1;k<10;k++)
if(min>a[k])
{
min=a[k];
countmin=k;
}
countmin++;
printf("max=%d,the count=%d\n min=%d,the count=%d\n",max,countmax,min,countmin);
}
相似回答