写函数判断一个数是否为素数
123456789101112131415161718192021222324252627 | void Prime_Number(int* pnum){ int x,i,z=0; x = *pnum; for (i = 2; i < x; i++) { if (x%i == 0) { z = 1; break; } } if (z==0) { printf("输入的数字是素数"); }else { printf("输入的数字不是素数"); }} int main() { int num,a; printf("判断一个数是否为素数\n"); printf("请输入一个数字:->"); scanf("%d",&num); Prime_Number(&num); return 0;} |
1234567891011121314151617181920212223 | //是素数返回1,不是返回0int is_Prime(int n){ int i; for (i = 2; i<n; i++) { if (n%i == 0) { return 0; } } return 1;} int main(){ int i =0; for (i=100; i<=200; i++) { if (is_Prime(i) == 1) { printf("%d ",i); } } return 0;} |
写一个函数判断一年是否为闰年
123456789101112131415161718192021 | int Leap_Year(int a){ if ((a % 4 == 0 && a % 100 != 0 )|| a % 400 == 0) { return 1; } return 0;} int main() { int x; printf("判断一年是否为闰年\n"); printf("请输入年份:->"); scanf("%d",&x); if (Leap_Year(x)==1) { printf("是闰年\n"); }else{ printf("不是闰年\n"); } return 0;} |
函数实现一个整型有序数组的二分查找
123456789101112131415161718192021222324252627282930313233343536 | int binary_search(int arr[],int k,int sz)//实参和形参的名字相同是可以的{ //算法的实现 int left = 0;// int sz = sizeof(arr)/sizeof(arr[0]);//传过去的arr不是数组,本质上arr是指针,只是首元素的地址 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 = 20; int sz = sizeof(arr)/sizeof(arr[0]); int ret = binary_search(arr,k,sz); if (ret == -1) { printf("找不到\n"); }else { printf("找到了,下标是:%d\n",ret); }} |
写一个函数,每调用一次,num加1
12345678910111213141516 | void Record(int* x){ (*x)++;} int main() { int i,num = 0; Record(&num); printf("%d\n",num); Record(&num); printf("%d\n",num); Record(&num); printf("%d\n",num); return 0;} |