C++实验报告一 数组与指针

  • 格式:doc
  • 大小:20.48 KB
  • 文档页数:4

下载文档原格式

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

实验一数组与指针

【实验目的】

1.准确理解数组和指针的定义,合理运用数组和指针解决问题

2.熟练掌握一维数组、二维数组的运用方法

3.熟练掌握指针运算符&和*

【实验内容】

1.写一个程序,要求用户输入10个数据到数组中,然后将数组中的最大值和最小值显示出来,同时显示其下标。

#include

#include

using namespace std;

int main()

{

inti,m,n,a[10],max,min;

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

cin>>setw(5)>>a[i];

cout<

min=max=a[0];

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

{

if(a[i]

{

min=a[i];

m=i;

}

if(a[i]>max)

{

max=a[i];

n=i;

}

}

cout<

cout<

return 0;

}

4编写程序,让用户输入一个账号,检验该账号是否出现在下面的列表中。如果属于下面列表中的账号,则输出合法信息,否则输出非法信息。采用现行查找法。5658845,4520125,7895122,8777541,8451277,1302850,8080152,4562555,5552012, 5050552,7825877,1250255,1005231,6545231,3852085,7576651,7881200,4581002 #include

using namespace std;

constint a=18;

int s(int L[],intn,int v);

int main()

{

int

t[a]={5658845,4520125,7895122,8777541,8451277,1302850,8080152,4562555,5552 012,

5050552,7825877,1250255,1005231,6545231,3852085,7576651,7881200,45810 02};

intresult,x;

cin>>x;

result=s(t,a,x);

if(result==-1)

cout<

else

cout<

return 0;

}

int s(int L[],intn,int v)

{

for(int i=0;i

if(v==L[i])

return i;

return -1;

}

5.采用二分查找的方法实现上述程序。先用选择法将数组进行排序,然后采用二分查找算法检验输入账号的合法性。

#include

#include

using namespace std;

constintarrsize=18;

voidSelectionSort(int a[],int n);

voidshowArray(int a[],int n);

intbinarySearch(int a[],intnumElems,int value);

int main()

{

int

a[arrsize]={5658845,4520125,7895122,8777541,8451277,1302850,8080152,4562555 ,5552012,

5050552,7825877,1250255,1005231,6545231,3852085,7576651,7881200,45810 02};

SelectionSort(a,arrsize);

cout<<"排序后:";

showArray(a,arrsize);

cout<<"请输入要查找的数:";

cin>>x;

p=binarySearch(a,sizeof(a)/sizeof(a[0]),x);

if(p>=0)

cout<

else

cout<

return 0;

}

voidSelectionSort(int a[],int n)

{

inti,j,t,minIndex;

for(i=0;i

{

minIndex=i;

for(j=i+1;j

if(a[j]

minIndex=j;

}

}

voidshowArray(int a[],int n)

{

for(int i=0;i

cout<

cout<

}

intbinarySearch(int a[],intnumElems,int value) {

int low=0,mid,hight=numElems-1;

while(low<=hight)

{

mid=(low+hight)/2;

if(value==a[mid])return mid;

else if(value

hight=mid-1;

else

low=mid+1;

}