实验2

更新时间:2024-03-07 08:22:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验二 函数和数组

实验目的:

1.掌握函数的定义和使用方法;掌握函数调用的方法;掌握函数参数传递的机制;掌握全局变量、局部变量、静态变量的使用方法;掌握函数重载的方法。

2.熟练掌握一维数组和二维数组的定义、引用和初始化;掌握字符数组与字符串的关系以及字符串变量的表示,熟练字符串处理函数的应用。 实验内容:

1.编程求下式的值:n1+n2+n3+n4+…+n8其中n=1, 2, 3…,编写函数时,设置参数n的默认值为2。 ⑴提示

上述表达式可以写为:f(n)= n1+n2+n3+n4+…+n8 (n=1, 2, 3…) ,注意表达式值的溢出问题。 ⑵要求

? 定义f(n)函数,实现求上述表达式的值,并设置函数的参数n的默认值为2;

? 在主函数中调用f(n)函数,实现输入n值时,求出表达式的

2.使用函数重载的方法定义四个同名函数max,分别求取两个整数、三个整数,两个双精度数、三个双精度数的最大值。 ⑴提示

C++编译器根据函数参数表中参数类型和个数进行匹配,调用相应的重载函数,函数返回值不能用来识别重载函数。注意重载函数中使用默认参数时可能产生的二义性。 ⑵要求

? 在每个重载函数中输出该函数的参数值和求出的最大值; ? 在main函数中,当输入不同类型、个数的数据时,调用不同的重载函数,求其最大值;

3.N 个整数的排序。

要求:

1 )用一个数组存放各个整数

2 )在主函数 main() 中实现数据的输入和输出操作,并用一个函数实现对数组元素的排序操作。

3 )排序函数为swap(int a[], int size); (size为数组的长度)

4.编写程序统计一个字符串“C++ is beginer's language”中单词的个数,并将统计的每个单词存入二维数组array[ ][ ]中的一行,即数组array中的元素:array[0]=”C++”, array[1]=”is”,

array[2]=”beginer’s”, array[3]=”language”。最后输出每个单词。

撰写实验报告

上机实验报告格式

实验题目:_______ 函数和数组 学院及班级: 信工院计算机科学与技术

学号: 201603716 姓名: 张羽

一、实验目的:1.掌握函数的定义和使用方法;掌握函数调用的方法;掌握函数参数传递的机制;掌握全局变量、局部变量、静态变量的使用方法;掌握函数重载的方法。

2.熟练掌握一维数组和二维数组的定义、引用和初始化;掌握字符数组与字符串的关系以及字符串变量的表示,熟练字符串处理函数的应用。

二、实验内容:

要求有算法设计、代码编写,程序代码含有一定的注释,运行结果图示。 第一题

#include using namespace std; int f(int n) {int a=0,b=1; for(int i=0;i<8;i++) { b=b*n; a=a+b; } return a; }

int main() {

int num=2;

cout<<\请输入一个1到8的整数\<<'\\n'; cin>>num; int y; y=f(num);

cout<<\<

第二题

#include using namespace std; int max(int x, int y); int max(int x, int y, int z); float max(float x, float y);

float max(float x, float y, float z); int main() {

int max(int x, int y) {

} else }

cout << \输入错误\<

float o, p, q;

cout << \请输入你想比较的实数\ << endl; cin >> o >> p >> q; cout << endl;

cout << max(o, p, q)<

cout << \若比较整数请输入1,非整数比较请输入0\ << endl; cin >> num; if (num == 1) { }

else if (num == 0) {

int a, b, c;

cout << \请输入你想比较的整数\ << endl; cin >> a >> b >> c; cout << endl;

cout << max(a, b, c)<

}

int t; if (x>y)

t = x; else t = y; return t;

int max(int x, int y, int z) { }

float max(float x, float y) { }

float max(float x, float y, float z) {

float t, l; if (x>y)

t = x; else t = y; if (t>z)

l = t; else l = z; return l; }

float t; if (x>y)

t = x; else t = y; return t; int t, l; if (x>y)

t = x; else t = y; if (t>z)

l = t; else l = z; return l;

第三题:

#include using namespace std; int swap(int a[],int size) {

int i, j; int temp;

for (i = 0; i < size - 1; i++) {

for (j = 0; j < size - 1 - i; j++)

if (a[j] > a[j + 1]) {

temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp;

return a[i];

} }

int main() { }

for(int i=0;i

cout<

swap(arr,8); swap(arr,8); }

int N,m,n; int arr[50];

cout<<\请输入你所输入的数组位数N\<>N;

for(n=0;n

cout<<\请输入第\<>arr[n];

cout<

第四题:

#include #include using namespace std;

int len(char a[]) { }

int main() {

char c[50]={\};

N=len(c); int N; int x=0,y=0; return j; } int N; int j=0; N=strlen(a);

for(int i=0;a[i]!='\\0';i++) {

if (a[i]!=' ' && (a[i+1]==' '||a[i+1]=='\\0'))

j=j+1;

}

cout<

char array[100][100]={0}; for(int i=0;c[i]!='\\0';i++) { }

for(int z=0;z

cout<

if (c[i]==' ') { if(c[i-1]==' ') {} else {x++; y=0;} }

三、 实验总结

通过上机实践,对所学内容的某个知识点有了更深入的理解,

写出一些体会、学习心得。也可以写算法设计、代码编写、程序调试、程序改进等相关的收获、感悟。

第三题和第四题感觉对我还是有难度,第四题的两个空格可把我憋坏了!!!

本文来源:https://www.bwwdw.com/article/iepa.html

Top