#include<stdio.h>//写一个函数可以判断一个数是不是素数。#include<math.h>intis_prime(int i){int j =0;for(j =2; j <=sqrt(i); j++){if(i % j ==0){return0;}}return1;}intmain(){int i =0;int count =0;for( i =100; i <=200; i++){if(1==is_prime(i)){
count++;printf("%d ", i);}}printf("\ncount = % d \n",count);return0;}
2. 写一个函数判断一年是不是闰年。
#include<stdio.h>//写一个函数判断一年是不是闰年。intis_leap_year(int year){if(( year %4==0&& year %100!=0)|| year %400==0){return1;}return0;}intmain(){int year;int count =0;for( year =1000; year <=2000; year++){if(is_leap_year(year)==1){
count++;printf("%d ", year);}}printf("\ncount = % d \n", count);return0;}
3. 写一个函数,实现一个整形有序数组的二分查找。
#include<stdio.h>//写一个函数,实现一个整形有序数组的二分查找。intbinary_search(int arr[],int k,int sz){int left =0;int right = sz -1;while(left <= right){int mid = left +(right - left)/2;if(arr[mid]< k){
left = mid +1;}elseif(arr[mid]> k){
right = mid -1;}else{return mid;}}return-1;}intmain(){int arr[10]={1,2,3,4,5,6,7,8,9,10};int k =0;//k为查找的数字scanf("%d",&k);int sz =sizeof(arr)/sizeof(arr[0]);//找到了就返回下标,找不到就返回-1int ret =binary_search(arr, k, sz);if(ret ==-1){printf("找不到\n");}elseprintf("找到了,下标为:%d\n", ret);return0;}
4. 写一个函数,每调用一次这个函数,就会将 num 的值增加1。
#include<stdio.h>Add(int* pnum){(* pnum)++;//两种方式*pnum = *pnum+1;}intmain()//写一个函数,每调用一次这个函数,就会将 num 的值增加1。{int num =0;Add(&num);printf("%d\n", num);//结果为1Add(&num);printf("%d\n", num);//结果为2Add(&num);printf("%d\n", num);//结果为3Add(&num);printf("%d\n", num);//结果为4return0;}
5. 写一个函数,打印乘法口诀表。
#include<stdio.h>//九九乘法表intcard(int n){int i =0;int j =0;for(i =1; i <= n; i++){for(j =1; j <= i; j++){if(i >= j){printf("%d * %d = %2d ", j, i, j*i);}}printf("\n");}}intmain(){int n =0;scanf("%d",&n);card(n);return0;}
6. 写一个函数来交换两个整数的内容。
#include<stdio.h>voidSwap(int* pa,int* pb){int* tmp =*pa;*pa =*pb;*pb = tmp;}intmain()//实现一个函数来交换两个整数的内容。{int a =0;int b =0;scanf("%d %d",&a,&b);Swap(&a,&b);printf("%d %d", a, b);return0;}