关于#c++#的问题:每个数小于等于10000000输出输出一个整数,表示序列中大于等于L且小于等于R的数的个数

给定一个数的序列S,以及一个区间[L, R], 求序列中介于该区间的数的个数,即序列中大于等于L且小于等于R的数的个数。
时间限制:1000
内存限制:65536
输入
第一行3个整数n、L、R,分别表示序列的长度,区间的左端点,区间的右端点。(0 < n ≤ 10000, 1 ≤ L ≤ R ≤ 1000000) 第二行n个正整数,表示序列里的每一个数,每个数小于等于10000000
输出
输出一个整数,表示序列中大于等于L且小于等于R的数的个数。
样例输入
5 1 10
11 8 1 10 16
样例输出
3

#include <iostream>

using namespace std;

int main()
{
    int n, L, R, x, count = 0;
    cin >> n >> L >> R;
    for (int i = 0; i < n; i++)
    {
        cin >> x;
        if (x >= L && x <= R)
            count++;
    }
    cout << count << endl;
    return 0;
}

测试图:

img


代码:

#include<iostream>
using namespace std;
int main()
{
    int n,a[10001],l,r,sum=0;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    cin>>l>>r;
    for(int i=1;i<=n;i++){
        if(a[i]>=l&&a[i]<=r) sum++;
    }
    cout<<sum;
    return 0;
}

希望对题主有所帮助,可以的话,帮忙点个采纳!


#include<iostream>
using namespace std;
int main()
{
    int n,a[10001],l,r,sum=0;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    cin>>l>>r;
    for(int i=1;i<=n;i++){
        if(a[i]>=l&&a[i]<=r) sum++;
    }
    cout<<sum;
    return 0;
}


img

#include <stdio.h>

int main()
{
    int S[10000];
    int n,L,R,j,count=0;
    scanf("%d%d%d",&n,&L,&R);
    for(j=0; j<n; j++)
    {
        scanf("%d",&S[j]);
        if(S[j]>=L&&S[j]<=R)
        {
            count++;
        }
    }
    printf("%d",count);
    return 0;
}

#include   <stdio.h>
int fun(int  n)
{  int  a[10000], i,j, count=0;
   for (i=2; i<=n; i++)  a[i] = i;
   i = 2;
   while (i<n) {
/**********found**********/
      for (j=a[i]*2; j<=n; j+=a[i])//a[i]的所有倍数
         a[j] = 0;
      i++;
/**********found**********/
      while (a[i]==0)
         i++;
   }
   printf("\nThe prime number between 2 to %d\n", n);
   for (i=2; i<=n; i++)
/**********found**********/
     if (a[i]!=0)
      {  count++;    printf( count%15?"%5d":"\n%5d",a[i]);  }
   return  count;
}
void main()
{  int  n=20, r;
   r = fun(n);
   printf("\nThe number of prime is  :  %d\n", r);
}