第二次作业

1.问题梗概:

1.为什么要用函数(设计实验、教案说明)

2.为什么要用函数重载(设计实验教案说明)

3.什么是值传递(设计实验和教案说明其过程,分析其特性)

4.什么是地址传递(设计实验和教案说明其过程,分析其特性)

5.设计实验和教案,分析如何编写递归函数

2.问题解决:

1.当你要多次使用一个功能时,如果不使用函数,就会使每次操作变得非常麻烦,因此通过使用函数可以提高我们的效率,下面我们就拿交换函数来举例:

#include "pch.h"
#include <iostream>

using namespace std;
void change(int &x, int &y)
{
int temp;
temp = x;
x = y;
y = temp;
}

int main()
{
int x,y;
cout << "请输入你要交换的两个数:" << endl;
cin >> x >> y;
change(x, y);
cout << "交换后的两个数为:" << x << " " << y << endl;
return 0;
}

通过设计交换函数,我们就可以轻松的进行交换操作啦。

2.

当我们想进行一个近似操作但又不想重复定义不同函数名时,就可以通过函数重载来实现,下面就拿加法函数举例子:

#include "pch.h"
#include <iostream>

using namespace std;

int add(int x, int y)
{
int sum = 0;
sum = x + y;
return sum;
}

double add(double x, double y)
{
double sum=0;
sum = x + y;
return sum;
}

int main()
{
double a, b,c,d,sum1,sum2;
cout << "请输入四个数" << endl;
cin >> a >> b >>c>>d;
sum1 = add(a, b);
sum2 = add(c, d);
cout << "第一个int的和为:" <<sum1<< endl;
cout << "第二个double的和为:"<<sum2 << endl;
return 0;
}

1568515274086

3.

值传递就是可以将两个数进行运算,但不改变其实际参数的值,下面用交换功能举例:

#include "pch.h"
#include <iostream>

using namespace std;

void swap(int x, int y)
{
int temp;
temp = x;
x = y;

}

int main()
{
int x, y;
cout << "请输入你要交换的两个数" << endl;
cin >> x >> y;
swap(x, y);
cout << "请打印出交换后的x,y的值:" << x <<" "<< y << endl;
return 0;
}1568517284555

4.

地址传递就是指进行过一系列操作时,实参的值也会发生改变,还是拿交换举例

#include "pch.h"
#include <iostream>

using namespace std;

void swap(int *x, int *y)
{
int *temp;
temp = x;
x = y;

}

int main()
{
int x, y;
cout << "请输入你要交换的两个数" << endl;
cin >> x >> y;
swap(x, y);
cout << "请打印出交换后的x,y的值:" << x <<" "<< y << endl;
return 0;
}1568517506223

5.

试求出1!+2!+3!+.....n!的和

#include "pch.h"
#include <iostream>

using namespace std;

int back(int n)
{
if (n == 1)
{
return 1;
}
else
{
return n * back(n - 1);
}
}

int main()
{
int i = 1, n,sum=0;
cout << "请输入你要求出的阶乘和上限" << endl;
cin >> n;
for (i = 1;i <= n;i++)
{
sum += back(i);
}
cout << "阶乘的结果为:" << sum << endl;
return 0;
}1568518573495

posted @ 2019-09-15 11:39  超级无敌57  阅读(167)  评论(0编辑  收藏  举报