题目:输入一个正整数n,然后读取n个正整数a1, a2, a3...,an,最后再读取一个正整数m。统计数列中多少个正整数的值小于m。
代码:
#include <stdio.h> #include <stdlib.h> void main() { int i,n,m,number=0; int *p; scanf("%d", &n); p = (int*)malloc(sizeof(int)*n); for(i=0;i<n;i++) { scanf("%d",&p[i]); } scanf("%d", &m); for(i=0;i<n;i++) { if (p[i]<m) { number++; } } printf("%d",number); }
#include<iostream> #include<vector> using namespace std; int main() { vector<int> ivec; int n,m; int a; cin>>n; while(n--) { cin>>a; ivec.push_back(a); } cin>>m; int count=0; for(vector<int>::iterator iter=ivec.begin(); iter!=ivec.end();iter++) { if(*iter<m) count++; } cout<<count<<endl; return 0; }
使用重定向:
#define LOCAL #include <stdio.h> #include <stdlib.h> void main() { #ifdef LOCAL freopen("data.in","r",stdin); freopen("data.out","w",stdout); #endif int i,n,m,number=0; int *p; scanf("%d", &n); p = (int*)malloc(sizeof(int)*n); for(i=0;i<n;i++) { scanf("%d",&p[i]); } scanf("%d", &m); for(i=0;i<n;i++) { if (p[i]<m) { number++; } } printf("%d",number); }