函数
概念啥的书上有,直接上例题
例一:交换a,b位置
#include<stdio.h>
void swap(int* pa,int* pb)
{
int tmp=0;
tmp=*pa;
*pa=*pb;
*pb=tmp;
}
int main()
{
int a=10;
int b=20;
int* pa=&a;
int* pb=&b;
swap(&a,&b);
printf("a=%d,b=%d",a,b);
return 0;
}
打印100到200间的素数
#include<stdio.h>
#include <math.h>
int is_prime(int n)//9
{
//2->n-1
int j = 0;
for(j=2; j<=sqrt(n); j++)
{
if(n%j == 0)
return 0;
}
return 1;
}
int main()
{
//打印100-200之间的素数
int i = 0;
for(i=100; i<=200; i++)
{
//判断i是否为素数
if(is_prime(i) == 1)
printf("%d ", i);
}
return 0;
}
找数字
#include<stdio.h>
#include <math.h>
int binary_search(int arr[], int k, int sz)
{
//算法的实现
int left = 0;
int right = sz-1;
while(left<=right)
{
int mid = (left+right)/2;//中间元素的下标
if(arr[mid] < k)
{
left = mid+1;
}
else if(arr[mid] > k)
{
right = mid-1;
}
else
{
return mid;
}
}
return -1;
}
int main()
{
//二分查找
//在一个有序数组中查找具体的某个数
//如果找到了返回,这个数的下标。找不到的返回-1
//
int arr[] = {1,2,3,4,5,6,7,8,9,10};
int k = 7;
int sz = sizeof(arr)/sizeof(arr[0]);
// 传递过去的是数组arr首元素的地址
int ret = binary_search(arr, k, sz);
if(ret == -1)
{
printf("找不到指定的数字\n");
}
else
{
printf("找到了,下标是:%d\n", ret);
}
return 0;
}