C语言.由键盘输入10个整数存入数组,输出最大值、最小值及它们的位置信息。并将最大、最小值位置互换后,再

由键盘输入10个整数存入数组,输出最大值、最小值及它们的位置信息。并将最大、最小值位置互换后,再输出调整后的数组。

/*
输入10个整数(空格隔开) : 45 67 71 23 19 87 62 33 91 24
67 71 23 19 87 62 33 91 24
最大值是 : 91,索引是 : 8
最小值是 : 19,索引是 : 4
最大值和最小值交换位置后 :
45 67 71 23 91 87 62 33 19 24
请按任意键继续. . .
*/
#include <stdio.h>

int main() {
int i,a[10];
int max = 0,min = 0,t;
printf("输入10个整数(空格隔开) : ");
for(i = 0; i < 10; ++i) scanf("%d",&a[i]);
for(i = 1; i < 10; ++i) {
printf("%d ",a[i]);
if(a[i] > a[max]) max = i;
if(a[i] < a[min]) min = i;
}
printf("\n最大值是 : %d,索引是 : %d\n",a[max],max);
printf("最小值是 : %d,索引是 : %d\n",a[min],min);
t = a[max];
a[max] = a[min];
a[min]= t;
printf("最大值和最小值交换位置后 :\n");
for(i = 0; i < 10; ++i) printf("%d ",a[i]);
printf("\n");
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-05-18
#include<stdio.h>
void main()
{
int a[10];
int max,min,i,m1=0,m2=0;
scanf("%d",&a[0]);
max=a[0];
min=a[0];
for(i=1;i<10;i++)
{
scanf("%d",&a[i]);
if(a[i]>max)
{
max=a[i];
m1=i;
}
if(a[i]<min)
{
min=a[i];
m2=i;
}
}
printf("%d%d\n",m1,m2);
int temp;
temp=a[m1];
a[m1]=a[m2];
a[m2]=temp;
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
}
可以吗?本回答被网友采纳
相似回答