编程从键盘输入n个数并保存到数组,输出n个数中的最大值及其下标、最小值及其下标。
设计思路:
1.先定义一个大小为10的整型数组a和整型变量max,min,i,j(存储最大值下标),k(存储最小值小标)并给i,j,k赋初值为0。
2.通过for循环将键盘输入的数依次赋给a的10个元素。假设a[0]为最大值且为最小值。
3. 在数组中再通过for循环逐一跟下标为0的值相比较,如果有某个数a[i]比假设的最大值a[0]还大,则此时假设a[i]为新的最大值并且把新的最大值下标赋值给j;如果有某个数a[i]比假设的最小值a[0]还小,则此时假设a[i]为新的最小值并且把新的最小值下标赋值给k。重复以上步骤直到for循环结束。
4.循环结束后,得到最大值max及其下标j和最小值min及其下标k,最后输出最大值max和最小值min及其下标j和k。
代码如下:
#include <stdio.h>
void main()
{
int a[10],max,min,i,j,k;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
max=min=a[0];
j=k=0;
for(i=0;i<10;i++)
{
if(max<a[i])
{
max=a[i];
j=i;
}
else if(min>a[i])
{
min=a[i];
k=i;
}
}
printf("max:a[%d]=%d,min:a[%d]=%d",j,max,k,min);
}