实现一个函数,完成一维数组元素的逆置
#include <stdio.h>
void reverse(int arr1[],int n)
{
int i=0;
int tmp=0;
for(i=0; i<(n/2); i++)
{
tmp=arr1[i];
arr1[i]=arr1[n-i-1];
arr1[n-i-1]=tmp;
}
printf("逆置后的数组为:\n");
for(i=0; i<n; i++)
{
printf("arr[%d]=%d ",i, arr1[i]);
printf("\n");
}
printf("\n");
}
int main()
{ int i=0;
int p=0;
int arr[10]={0};
p=sizeof(arr)/sizeof(arr[0]);
printf("请输入数组arr[10]中的元素:\n");
for(i=0; i<p; i++)
{
scanf("%d", &arr[i]);
}
printf("\n");
reverse(arr,p);
printf("\n");
return 0;
}
实现一个折半查找的函数,找到返回其下标,找不到输出“找不到”
#include "stdio.h"
int cha_zhao(int arr1[],int len,int key)
{
int left=0;
int right=len-1;
while(left<=right)
{
int mid=left+(right-left)/2;
if(arr1[mid]=key)
{
return key;
}
else if(arr1[mid]<key)
{
left=mid+1;
}
else
{
right=mid-1;
}
}
return -1;
}
int main()
{
int sz=0;
int p=0;
int arr[]={1,2,3,4,5,6,7,8,9,10};
int num=0;
printf("请输入你想找的数:\n");
scanf("%d",&num);
sz=sizeof(arr)/sizeof(arr[0]);
p=cha_zhao(arr,sz,num);
if(p==-1)
printf("找不到\n");
else
printf("其下标元素为:%d\n",p);
return 0;
}