//设定一个函数,来比较两个数之间的较大值 int get_max(int x, int y) {int z = 0;if (x > y)z = x;elsez = y;return z;} int main() {int a = 10;int b = 20;int max=get_max(a, b);printf("%d", max);return 0; }
//函数返回类型的地方写出:void 表示这个函数不返回任何值,也不需要返回 void jiao(int* pa, int* pb) {int z = 0;z = *pa;*pa = *pb;*pb = z;}int main() {int a = 10;int b = 20;printf("a=%d,b=%d\n", a, b);jiao(&a, &b);printf("a=%d,b=%d\n", a, b);return 0;}
传值调用——传址调用
函数调用,传址调用可以真正让函数与主体联系起来。
判断是否为素数#include<math.h> int is_prime(int n) {int j = 0;for (j = 2; j <=sqrt(n); j++){if (n % j == 0)return 0;}return 1; } int main() {int count = 0;int i = 0;for (i = 100; i < 200; i++){if (is_prime(i) == 1){count++;printf("%d\n", i);}}printf("\ncount=%d\n", count);return 0; }
|
|
|
|
|
|
闰年判断 int is_leap_year(int n) {if ((n % 400 == 0 )|| (n%4==0&&n%100!=0))return 1;elsereturn 0; } int main() {int count = 0;int y = 0;for (y = 1000; y <= 2000; y++){is_leap_year(y);if (is_leap_year(y) == 1)printf("%d\n", y);count++;}printf("\ncount=%d\n", y);return 0; }
二分查找 int binary_search(int a[], int k, int s) {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 };//查找数字key=7;int key = 7;int sz = sizeof(arr) / sizeof(arr[0]);//找到了就返回找到位置的下标//找不到就返回-1int ret = binary_search(arr, key, sz);if (-1==ret)printf("找不到");elseprintf("找到了%d\n",ret);return 0; }
void ADD(int* p) {(*p)++; } int main() {int num = 0;ADD(&num);printf("%d", num);ADD(&num);printf("%d", num);ADD(&num);printf("%d", num);return 0; }