C++程序设计实验报告5

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《程序设计基础》

实验报告

学号:2016211990

姓名:王贯东

班级:16-计算机科学与技术-1班

学院:计算机与信息学院

实验五指针

1.实验目的要求

(1)掌握指针的概念,学会定义和使用指针变量。

(2)学会使用数组指针和指向数组的指针变量。

(3)学会使用字符串指针和指向字符串的指针变量。

(4)了解指向指针的指针的概念以及其使用方法。

(5)掌握指针、引用、数组做函数参数的传递机制。

(6)*学会使用指向函数的指针变量。

2.实验设备

Visual C++ 6.0

3.实验内容

(1)阅读下面程序,写出其运行结果。

<1>

#include

sub ( int x , int y , int *z )

{

*z = y – x ;

}

void main( )

{

int a,b,c;

sub( 10 , 5 , &a ) ;

sub( 7, a, &b ) ;

sub( a, b, &c ) ;

cout << a <<‘,’<< b <<‘,’<< c << endl ; }

解:输出-5,-12,-7

<2>

#include

#include

void main()

{

int stre ( char[ ] ) ;

char str [ 10 ] , *p = str ;

gets ( p ) ;

cout << stre ( p ) << endl ;

}

int stre ( char str[ ] )

{

int num = 0 ;

while( * ( str + num ) != ’\0’ ) num ++ ;

return ( num ) ;

}

解:题目库函数少了 。该正后,输入1234,输出4

(2)编写程序实现下列问题的求解。

(1)输入三个整数,按由小到大的顺序输出,然后将程序改为:输入三个字符串,按由小到大的顺序输出。

#include

using namespace std;

int turn (int *p1,int *p2)

{ int p;

p=*p1;

*p1=*p2;

*p2=p;

}

int main()

{int *p1,*p2,*p3;

cout<<"请输入三个数"<

cin>>a>>b>>c;

p1=&a;

p2=&b;

p3=&c;

if(a>b)

{turn(p1,p2);

}

if(a>c)

{turn(p1,p3);

}

if(b>c)

{turn(p2,p3);

}

cout<

}

(2)将一个3*3的矩阵转置,用一个函数实现。在主函数中用scanf输入以下矩阵元素:{2,4,6,8,10,12,14,16,18}。将数组名作为函数参数。函数调用后在主函数中输出已转置的矩阵。

#include

using namespace std;

void change(int *p1)

{int i,j,t;

for(i=0;i<3;i++){

for(j=0;j<3;j++){

t=*(p1+3*i+j);

*(p1+3*i+j)=*(p1+3*j+i);

*(p1+3*j+i)=t;}}

}

int main()

{void change(int *p1);

int i,j;

int a[3][3];

int *p;

cout<<"请输入九个数字"<

for(i=0;i<3;i++)

for(j=0;j<3;j++)

cin>>a[i][j];

p=&a[0][0];

change(p);

cout<<"转置后的矩阵"<

for(i=0;i<3;i++)

cout<

cout<

}

(3)自己写一个strcmp函数,实现两个字符串的比较。两个字符串s1,s2由main函数输入,strcmp函数的返回值也在main函数中输出。

#include

#include

using namespace std;

int stcmp(string s1,string s2)

{

int i=0;

while (s1[i]!=NULL&&s2[i]!=NULL) {

if (s1[i]>s2[i]) {

return 1;

break;

}

if (s1[i]==s2[i]) {

return 0;

break;

}

if (s1[i]

return -1;

break;

}

i++;

}

}

int main()

{

int a;

string string1;

string string2;

cout<<"输入两个字符串\n";

cin>>string1;

相关文档
最新文档