4124人加入学习
(13人评价)
C++编程系列 第二季函数和类

制作于2018.4.2

价格 免费

函数与数组

填充数组或修改数组:由于接受数组名参数的函数访问的是原始数组(使用指针访问),而不是其副本,因此可以通过调用该函数将值赋给数组元素,或是修改数组元素的值。

显示数组以及保护数组:为了确保显示函数不修改原始数组,可在声明形参时使用关键字const

二维数组int sum(int ar2[][4],int size);

 

填充cin

 

 

#include <iostream>
#include <string>

using namespace std;

int sum_arr(const int arr[], int n);
void fill_arr(int arr[], int n);
void ratio(int arr[], int n, int sum);
void print_arr(const int arr[], int n);

int main()
{
	const int size = 6;
	int student1[size] = { 120,110,100,90,85,95 };
	int totalScore = sum_arr(student1, size);
	cout << "该名学生的总成绩为:" << totalScore << endl;

	int student2[size]= {};
	fill_arr(student2, size);
	totalScore = sum_arr(student2, size);
	cout << "该学生的各科成绩为:" << endl;
	print_arr(student2, size);
	ratio(student2, size, totalScore);
	cout << "各科成绩所占百分比(%):" << endl;
	print_arr(student2, size);

	return 0;
}

//arr时一个指针,指向数组的第一个元素,const int类型,所以不能修改数组内的值。
//n是数组的大小
//在函数体内,可以将arr直接当做数组名用,*arr和arr[]的意义相同。
int sum_arr(const int arr[], int n)
{
	int res = 0;
	//arr[1] = 1; //出错
	for (int i = 0; i < n; i++)
	{
		res += arr[i];
	}
	return res;
}

void fill_arr(int arr[], int n)
{
	cout << "请输入该学生的成绩(语数外物化生):" << endl;
	int temp;
	for (int i = 0; i < n; i++)
	{
		cin >> temp;
		arr[i] = temp;
	}
}

void ratio(int arr[], int n, int sum)
{
	for (int i = 0; i < n; i++)
	{
		arr[i] = arr[i] * 100 / sum;
	}
}

void print_arr(const int arr[], int n)
{
	for (int i = 0; i < n; i++)
	{
		cout << arr[i] << " ";
	}
	cout << endl;
}

 

 

习题3

完成程序:射击分数显示

要求:

1.要求用户输入最多10个射击分数,并将它们存储在一个数组中。

2.输入负数提前完成输入。

3.使用3个数组处理函数分别进行输入、显示和计算平均分数的操作。

4.显示所有分数和平均分数。

 

 

[展开全文]

授课教师

SIKI学院老师

课程特色

下载资料(1)
视频(43)

学员动态