C++实验报告一 数组与指针
- 格式:doc
- 大小:20.48 KB
- 文档页数:4
实验一数组与指针
【实验目的】
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; }