1.写一个函数,判断一个数是不是素数。
#include <stdio.h>
int prime_number(int x)
{
int j=2;
for(j=2;j<x-1;j++)
{
if(x%j==0) //判断一个数是不是素数
return 0;
}
return 1; //是素数返回1
}
int main()
{
int i=0;
for (i=1 ; i < 200; i++)
{
if (prime_number(i)==1)
{
printf("%d\t",i); //打印返回1时的i
}
}
return 0;
}
2.写一个函数判断是不是闰年
#include <stdio.h>
int leap_year(int x)
{
if(x%4==0&&x%100!=0||x%400==0) //判断是否为闰年
return 1; //是闰年返回1
else
return 0;
}
int main()
{
int i=2000;
for(i=2000;i<2100;i++)
{
if(leap_year(i)==1)
printf("%d\t",i);
}
return 0;
}
3.写一个函数,实现一个整形有序数组二分查找
#include <stdio.h>
int dichotomy(int arr[],int k,int sz)
{
int left=0;
int right=sz-1;
while(left<=right)
{
int mid=(left+right)/2;
if(k<arr[mid])
{
right=mid-1;
}
else if(k>arr[mid])
{
left=mid+1;
}
else
return mid;
}
return -1;
}
int main()
{
int arr[]={1,2,3,4,5,6,7,8,9,10};
int sz=sizeof(arr)/sizeof(arr[0]);
int k=7;
int ret=dichotomy(arr,k,sz);
if(ret==-1)
{
printf("zhaobudao");
}
else
{
printf("%d",ret);
}
return 0;
}
4.写一个函数每调用一次num+1
#include <stdio.h>
void count(int* p)
{
(*p)++;
}
int main()
{
int num=0;
count(&num);
printf("%d\n",num);
count(&num);
printf("%d\n",num);
count(&num);
printf("%d\n",num);
count(&num);
printf("%d\n",num);
return 0;
}