|
【实训目的】学习一维数组作为函数参数
【第 1 步】实训内容介绍
实训内容:学习将一维数组作为函数参数。
前置条件:掌握函数的声明、定义和使用
实训过程:
1. 实训内容介绍
2. 直接输出数组的每一个元素
3. 编写一个通用的整数数组输入函数 input()
4. 编写一个通用的整数数组输出函数 output()
5. 编写一个通用的整数数组排序函数 sort()
6. 在主函数中处理四个不同长度的整数数组
7. 实训结束
【Jitor 校验第 1 步】我已阅读实训内容介绍 // 送分题。直接点击。
【第 2 步】直接输出数组的每一个元素
1、在项目 cpp5 中创建名为 cpp5_11 的源代码文件,如果项目不存在,则先创建项目,然后创建源代码文件。
2、将下述代码复制到刚刚创建的 cpp5_11 中:
#include <iostream.h>
void main(void) {
int a[6];
cout << "输入6个数组元素: ";
cout << "数组元素是: ";
cout << endl;
}
// 3 4 5 1 2 6
在合适的位置插入合适的代码,直接输入和输出数组的每一个元素(不采用函数),代码见█████,运行结果如下:
输入6个数组元素: 3 4 5 1 2 6
数组元素是: {3}, {4}, {5}, {1}, {2}, {6}
Press any key to continue
代码如下:
// 从下一行开始复制。
#include <iostream.h>
void main(void) {
int a[6];
cout << "输入6个数组元素: ";
for(int i=0; i<6; i++){
cin >> a[i];
}
cout << "数组元素是: ";
for(i=0; i<6; i++){
cout << "{" << a[i] << "}";
if(i<6-1){
cout << ", ";
}
}
cout << endl;
}
// 3 4 5 1 2 6
// 一直复制到上一行结束。
【Jitor 校验第 2 步】 // 复制上面的代码到 VC++ 6.0 ,保存并运行。点击。
【第 3 步】编写一个通用的整数数组输入函数 input()
将上一步骤中的输入语句改为调用一个自定义函数 input,该函数有两个参数,代码见█████
运行结果如下(与第二步完全相同):
输入6个数组元素: 3 4 5 1 2 6
数组元素是: {3}, {4}, {5}, {1}, {2}, {6}
Press any key to continue
// 从下一行开始复制。
#include <iostream.h>
void input(int x[], int n);
void main(void) {
int a[6];
input(a, 6);
cout << "数组元素是: ";
for(int i=0; i<6; i++){
cout << "{" << a[i] << "}";
if(i<6-1){
cout << ", ";
}
}
cout << endl;
}
void input(int x[], int n){
cout << "输入" << n << "个数组元素: ";
for(int i=0; i<n; i++){
cin >> x[i];
}
}
// 3 4 5 1 2 6
// 一直复制到上一行结束。
【Jitor 校验第 3 步】 // 复制上面的代码到 VC++ 6.0 ,保存并运行。点击。
【第 4 步】编写一个通用的整数数组输出函数 output()
将上一步骤中的输出语句改为调用一个自定义函数 output,该函数有两个参数,代码见█████
运行结果如下(与第二步完全相同):
输入6个数组元素: 3 4 5 1 2 6
数组元素是: {3}, {4}, {5}, {1}, {2}, {6}
Press any key to continue
代码如下:
// 从下一行开始复制。
#include <iostream.h>
void input(int x[], int n);
void output(int x[], int n);
void main(void) {
int a[6];
input(a, 6);
output(a, 6);
}
void input(int x[], int n){
cout << "输入" << n << "个数组元素: ";
for(int i=0; i<n; i++){
cin >> x[i];
}
}
void output(int x[], int n){
cout << "数组元素是: ";
for(int i=0; i<n; i++){
cout << "{" << x[i] << "}";
if(i<n-1){
cout << ", ";
}
}
cout << endl;
}
// 3 4 5 1 2 6
// 一直复制到上一行结束。
【Jitor 校验第 4 步】 // 复制上面的代码到 VC++ 6.0 ,保存并运行。点击。
【第 5 步】编写一个通用的整数数组排序函数 sort()
再编写一个通用的整数数组排序函数sort,在主函数中调用它,代码见█████
运行结果如下:
输入6个数组元素: 3 4 5 1 2 6
数组元素是: {1}, {2}, {3}, {4}, {5}, {6}
Press any key to continue
代码如下:
// 从下一行开始复制。
#include <iostream.h>
void input(int x[], int n);
void output(int x[], int n);
void sort(int x[], int n);
void main(void) {
int a[6];
input(a, 6);
sort(a, 6);
output(a, 6);
}
void input(int x[], int n){
cout << "输入" << n << "个数组元素: ";
for(int i=0; i<n; i++){
cin >> x[i];
}
}
void sort(int x[], int n){
for(int i=0; i<n-1; i++){
for(int j=0; j<n-1-i; j++){
if(x[j]>x[j+1]){
int tmp = x[j];
x[j] = x[j+1];
x[j+1] = tmp;
}
}
}
}
void output(int x[], int n){
cout << "数组元素是: ";
for(int i=0; i<n; i++){
cout << "{" << x[i] << "}";
if(i<n-1){
cout << ", ";
}
}
cout << endl;
}
// 3 4 5 1 2 6
// 一直复制到上一行结束。
【Jitor 校验第 5 步】 // 复制上面的代码到 VC++ 6.0 ,保存并运行。点击。
【第 6 步】在主函数中处理四个不同长度的整数数组
在主函数中声明四个不同长度的整数数组,并分别调前面的三个函数对数组进行处理,代码见█████
运行结果如下(与第二步完全相同):
输入6个数组元素: 3 4 5 1 2 6
数组元素是: {1}, {2}, {3}, {4}, {5}, {6}
输入6个数组元素: 8 4 5 7 2 6
数组元素是: {2}, {4}, {5}, {6}, {7}, {8}
输入3个数组元素: 301 116 156
数组元素是: {116}, {156}, {301}
输入20个数组元素: 29 22 21 24 25 31 27 28 39 36 23 32 33 34 30 26 37 38 40 35
数组元素是: {21}, {22}, {23}, {24}, {25}, {26}, {27}, {28}, {29}, {30}, {31}, {32}, {33}, {34}, {35}, {36}, {37}, {38}, {39}, {40}
Press any key to continue
代码如下:
// 从下一行开始复制。
#include <iostream.h>
void input(int x[], int n);
void output(int x[], int n);
void sort(int x[], int n);
void main(void) {
int a[6];
input(a, 6);
sort(a, 6);
output(a, 6);
input(a, 6);
sort(a, 6);
output(a, 6);
int b[3];
input(b, 3);
sort(b, 3);
output(b, 3);
int c[20];
input(c, 20);
sort(c, 20);
output(c, 20);
}
void input(int x[], int n){
cout << "输入" << n << "个数组元素: ";
for(int i=0; i<n; i++){
cin >> x[i];
}
}
void sort(int x[], int n){
for(int i=0; i<n-1; i++){
for(int j=0; j<n-1; j++){
if(x[j]>x[j+1]){
int tmp = x[j];
x[j] = x[j+1];
x[j+1] = tmp;
}
}
}
}
void output(int x[], int n){
cout << "数组元素是: ";
for(int i=0; i<n; i++){
cout << "{" << x[i] << "}";
if(i<n-1){
cout << ", ";
}
}
cout << endl;
}
// 3 4 5 1 2 6
// 一直复制到上一行结束。
【Jitor 校验第 6 步】 // 复制上面的代码到 VC++ 6.0 ,保存并运行。点击。
【第 7 步】实训总结
本次实训学习了一维数组作为函数参数,可以极大的简化了对数组处理的代码的编写(代码重用)。
【Jitor 校验第 7 步】我已阅读实训总结 // 送分题。直接点击。
仍有疑问 ? 联系QQ 9429444(陈海云) : 返回首页 |