用函数查找100-200的素数
#include<stdio.h>
#include<math.h>
//用函数查找100-200的素数
int is_prime(int a)
{
int j = 0;
for (j = 2; j <= sqrt(a); j++)
{
if (a % j == 0)
{
return 0;
}
}
return 1;
}
int main()
{
int i = 0;
int count = 0;
for (i = 101; i <= 200; i += 2)
{
if (is_prime(i) == 1)
{
printf("%d ", i);
count++;
}
}
printf("\n%d ", count);
return 0;
}
用函数查找闰年
//用函数查找闰年
int is_leap_year(int n)
{
if (n % 4 == 0 && n % 100 != 0)
return 1;
else if (n % 400 == 0)
return 1;
else
return 0;
}
int main()
{
int y;
int count = 0;
for (y = 1000; y <= 2000; y++)
{
if (is_leap_year(y) == 1)
{
printf("%d ", y);
count++;
}
}
printf("\n%d ", count);
return 0;
}
用函数实现二分查找
//函数的二分查找
int binary_search(int a[], int k, int s)
{
//不能把sz放到函数里写
int left = 0;
int right = s - 1;
while (left <= right)
{
int mid = (left + right) / 2;
if (a[mid] > k )
{
right = mid - 1;
}
else if ( a[mid]< k )
{
left = mid + 1;
}
else
return mid;
}
return -1;
}
int main()
{
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9,10};
int key = 0;
int sz = sizeof(arr) / sizeof(arr[0]);
int ret = binary_search(arr, key, sz);
if (-1 == ret)
{
printf("找不到\n");
}
else
{
printf("找到了,下标是:%d\n", ret);
}
return 0;
}
每调用一次函数实现一次num值加一
//每调用函数一次实现num值加一
int Add(int *p)
{
(*p)++;
}
int main()
{
int num = 0;
Add(&num);
printf("%d ", num);//1
Add(&num);
printf("%d ", num);//2
Add(&num);
printf("%d ", num);//3
return 0;
}