可以把输入的n个数存入数组,然后计算出数组最大值,接着把除数组最大值外的其他元素的值存入一个备份数组,最后根据x的值来取出备份数组相应位置的元素值即可。
代码如下:
#include <stdio.h>
int main(void){
int n;
int arr[100],temp[100];
int x;
int i;
int max;
scanf("%d",&n); // 获取n的值
// 获取n 个数存入数组arr
for(i=0;i<n;i++){
scanf("%d",&arr[i]);
// 计算数组的最大值
if(i==0){
max=arr[i];
}else{
if(max<arr[i]){
max=arr[i];
}
}
}
scanf("%d",&x); // 获取x的值
int j=0;
// 把去除最大值后的其他数组元素存储到备份数组
for(i=0;i<n;i++){
if(arr[i]!=max){
temp[j]=arr[i];
j++;
}
}
// 打印结果
if(x>j||x<=0){
printf("x的值超出了数组范围!\n");
return 0;
}else{
printf("%d",temp[x-1]);
}
return 0;
}
