1.问题描述
读取一组数字,然后找出一个特定的数字在这组数字中的位置,以及这个数字比多少个数字大,比多少个数字小。
2.源代码
#include <stdio.h>
int main()
{
int n,i,x;
int begin=-1;
int number[100];
int count1=0;
int count2=0;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&number[i]);
}
scanf("%d",&x);
for(i=0;i<n;i++){
if(x==number[i]){
begin=i;
}
}
for(i=0;i<n;i++){
if(number[i]>x){
count1++;
}
}
for(i=0;i<n;i++){
if(number[i]<x){
count2++;
}
}
printf("%d\n",begin);
printf("%d\n",count1);
printf("%d\n",count2);
return 0;
}
3.代码思路
-
首先,定义了一些变量,包括
n
(用于存储数字的数量)、i
(用于循环)、x
(用于存储要查找的数字)、begin
(用于存储x
在数组中的位置)、number[100]
(用于存储输入的数字)、count1
(用于存储比x
大的数字的数量)和count2
(用于存储比x
小的数字的数量)。 -
然后,使用
scanf
函数从标准输入读取n
和x
的值,以及n
个数字,并存储在number
数组中。 -
接着,使用一个循环遍历
number
数组,如果找到x
,则将x
在数组中的位置存储在begin
中。 -
然后,使用另外两个循环分别计算比
x
大和比x
小的数字的数量,并分别存储在count1
和count2
中。 -
最后,使用
printf
函数输出begin
、count1
和count2
的值。