编程求出任意一个一维数组元素中最大值和最小值的下标。数组元素的值由用户键盘输入
源程序代码以及算法解释如下:
#define _CRT_SECURE_NO_WARNINGS//VS环境下需要,VC不需要
#include <iostream>
using namespace std;//引用命名空间
void main()
{
const int n = 10;//定义成绩数量
int number[n];//定义存放成绩的数组
int i;//定义循环变量
int max, min;//定义最大最小值
int i_max, i_min;//定义最大最小值小标
cout << "请输入10个整数:";//文字提示
for (i = 0; i < n; i++)//循环遍历输入
cin >> number[i];//输入成绩
max = min = number[0];//先放一个数在里面进行比较
i_max = i_min = 0;
for (i = 0; i < n; i++)//循环遍历查找最大最小值
{
if (number[i] > max)//如果大那么取出来
{
max = number[i];
i_max = i;
}
if (number[i] < min)//如果小那么取出来
{
min = number[i];
i_min = i;
}
}
cout << "max: " << max << endl;
cout << "min: " << min << endl;
cout << "i_max: " << i_max << endl;
cout << "i_min: " << i_min << endl;
}
程序运行结果如下:
扩展资料:
对任意一个一维数组,从中找出数组元素的最大值和最小值并输出 。
要求:
1)数组有10个元素;
2)使用scanf函数实现数组元素的输入,输入前给出必要的提示信息;
3)输出时,首先输出数组的十个元素,然后输出其最大值和最小值。
样例输入
1 2 3 4 5 6 7 8 9 0
样例输出
a[0]=1
a[1]=2
a[2]=3
a[3]=4
a[4]=5
a[5]=6
a[6]=7
a[7]=8
a[8]=9
a[9]=0
max:9,min:0*/
#include <stdio.h>
int main()
{
int a[10],i,max,min;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
printf("a[%d]=%d\n",i,a[i]);
max=a[0];
min=a[0];
for(i=0;i<10;i++)
{
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
}
printf("max:%d,min:%d",max,min);
return 0;
}
void main()
{
int a[10],i,max_f,min_f,max,min;
for(i=0;i<10;i++)
{
printf("请输入第%d个数的值(共10个):\n",i+1);
scanf("%d",&a[i]);
if(i==0)
{
max=a[0];
min=a[0];
max_f=0;
min_f=0;
}
else
{
if(a[i]>max)
{
max=a[i];
max_f=i;
}
if(a[i]<min)
{
min=a[i];
min_f=i;
}
} }
printf("最大值的下标是%d(下标从0开始)\n",max_f);
printf("最小值的下标是%d(下标从0开始)\n",min_f);
} 图: