//设定一个函数,来比较两个数之间的较大值 int get_max(int x, int y) { int z = 0; if (x > y) z = x; else z = 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; else return 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]); //找到了就返回找到位置的下标 //找不到就返回-1 int ret = binary_search(arr, key, sz); if (-1==ret) printf("找不到"); else printf("找到了%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; }