利用int student[80]数组,存储80位学生的成绩,成绩利用rand()函数生成,成绩分布区间为[50,100]。
1、int main()函数负责声明数组并计算平均分。
2、void arrayInit(int *p)函数负责利用rand()函数生成80位学生成绩。
3、void biggerAve(int *p, int ave)函数负责输出所有大于平均分的成绩并给出该成绩在student[]数组中的位置。
4、void searchOne(int *p)函数提供分数查询服务,让用户输入一个分数,输出所有成绩等于该分数在数组中的位置
// Q764042.cpp : This file contains the 'main' function. Program execution begins and ends there.
//
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
#define N 80
void arrayInit(int* p);
void biggerAve(int* p, int ave);
void searchOne(int* p);
int main()
{
int student[N];
arrayInit(student);
int sum = 0;
for (int i = 0; i < N; i++)
sum += student[i];
int ave = sum / N;
cout << "ave = " << ave << endl;
biggerAve(student, ave);
searchOne(student);
return 0;
}
void searchOne(int* p)
{
int f;
cout << "what do you want to find:";
cin >> f;
for (int i = 0; i < N; i++)
if (p[i] == f)
cout << "NO" << i << " ";
cout << endl;
}
void biggerAve(int* p, int ave)
{
for (int i = 0; i < N; i++)
if (p[i] > ave)
cout << "NO" << i << ":" << p[i] << " ";
cout << endl;
}
void arrayInit(int* p)
{
srand((unsigned)time(NULL));
for (int i = 0; i < N; i++)
p[i] = 50 + rand() % 26 + rand() % 26;
}
#include <iostream>
#include <cmath>
using namespace std;
constexpr int StudentNumber = 80;
void arrayInit(int *p, int len) {
for(int i = 0; i != len; ++i) {
// 取模[0, 50] + 50 = [50, 100]
p[i] = rand()%51 + 50;
}
}
void biggerAve(int *p, int len, int ave) {
cout << "Score bigger than " << ave << "\n";
for(int i = 0; i != len; ++i) {
if(p[i] > ave) {
cout << p[i] << "\n";
}
}
}
void searchOne(int *p, int len, int wantedScore) {
cout << "Score equal " << wantedScore << "\n";
for(int i = 0; i != len; ++i) {
if(p[i] == wantedScore) {
cout << p[i] << "\n";
}
}
}
int main(int argc, const char * argv[]) {
int student[StudentNumber];
arrayInit(student, StudentNumber);
biggerAve(student, StudentNumber, 80);
searchOne(student, StudentNumber, 70);
return 0;
}