实验6 指针Word文件下载.docx
《实验6 指针Word文件下载.docx》由会员分享,可在线阅读,更多相关《实验6 指针Word文件下载.docx(8页珍藏版)》请在冰豆网上搜索。
![实验6 指针Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-12/11/ad8c19c8-cf90-4447-a14e-138f1e800f0d/ad8c19c8-cf90-4447-a14e-138f1e800f0d1.gif)
指针...............................................................................10
(1)...............................................................................10
(2)...............................................................................10
(3)...............................................................................11
(4)...............................................................................11
(5)...............................................................................12
实验心得................................................................................14
实验目的
(1)通过实验进一步掌握指针的概念,会定义和使用指针变量。
(2)能正确使用数组指针和指向数组的指针变量。
(3)能正确使用字符串的指针和指向字符串的指针变量。
(4)能正确使用引用型变量。
二、实验内容
(1)输入3个整数,按由小到大输出。
便宜一个函数,用指针变量作为参数。
(2)在上题的基础上将程序改为:
输入3个字符串,由小到大输出。
(3)用引用变量作为形参,实现3个整数由小到大输出。
(4)有N个人维持一圈,顺序排号。
从第一个人开始报数,凡报到3的人退出圈子,问最后留下人原来排在第几号。
用另一函数对它们排序。
然后在主函数输出这10个已排好序的字符串。
要求用以下方法编程:
1指向一维数组的指针作函数参数;
2用string数组方法
2)程序源码
1
#include<
iostream>
usingnamespacestd;
intmain()
{
inta,b;
int*pointer_1,*pointer_2;
a=100;
b=10;
pointer_1=&
a;
pointer_2=&
b;
cout<
<
a<
"
"
b<
endl;
*pointer_1<
*pointer_2<
return0;
}
2
int*p1,*p2,*p3,*p,a,b;
cin>
>
a>
p1=&
p2=&
if(a<
b)
{p=p1;
p1=p2;
p2=p;
a="
b="
max="
*p1<
min="
*p2<
}
3
voidexchange(int*,int*,int*);
inta,b,c,*p1,*p2,*p3;
b>
c;
p2=&
p3=&
exchange(p1,p2,p3);
c<
voidexchange(int*q1,int*q2,int*q3)
{
voidswap(int*,int*);
if(*q1<
*q2)swap(q1,q2);
*q3)swap(q1,q3);
if(*q2<
*q3)swap(q2,q3);
}
voidswap(int*pt1,int*pt2)
inttemp;
temp=*pt1;
*pt1=*pt2;
*pt2=temp;
4
inti,k,m,n,num[50],*p;
inputnumberofperson:
n="
;
n;
p=num;
for(i=0;
i<
i++)
*(p+i)=i+1;
i=0;
k=0;
m=0;
while(m<
n-1)
if(*(p+i)!
=0)k++;
if(k==3)
*(p+i)=0;
k=0;
m++;
i++;
if(i==n)i=0;
while(*p==0)p++;
ThelastoneisNO."
*p<
5
{voidsort(chars[][6]);
inti;
charstr[10][6];
cout<
input10strings:
for(i=0;
10;
str[i];
Now,thesequenceis>
str[i]<
voidsort(chars[][6])
{inti,j;
char*p,temp[10];
p=temp;
9;
for(j=0;
j<
9-i;
j++)
if(strcmp(s[j],s[j+1])>
0)
{strcpy(p,s[j]);
strcpy(s[j],s[j+1]);
strcpy(s[j+1],p);
}
四、调试结果
(1)
2.
3.
4.
5.
五.实验心得