1.写一个函数,判断输入的数是不是素数
#include<stdio.h>
#include<math.h>
int test(int a )
{
int i = 0;
float b = 0;
b=a;
for(i=2;i<=sqrt(b);i++)
{
if(a%i == 0)
break;
}
if(i>=sqrt(b))
return a;
else
return 0;
}
int main()
{
int x = 0;
int y = 0;
scanf("%d",&x);
y=test(x);
switch(y)
{
case 0 :
printf("no\n");
break;
default:
printf("yes\n");
break;
}
return 0;
}
2.判断一个年份是不是闰年
#include<stdio.h>
int test(int y)
{
if((y%100!=0&&y%4==0)||(y%100==0&&y%400==0))
return 1;
else
return 0;
}
int main()
{
int year = 0;
int res = 0;
scanf("%d",&year);
res = test(year);
switch(res)
{
case 1:
{
printf("yes\n");
break;
}
case 0:
{
printf("no\n");
break;
}
}
return 0;
}
3.查找一个有序函数里的某个数所在的位置
#include<stdio.h>
void test(int arr[],int k,int sz)//函数在传递数组时,传递的只是数组第一个元素的地址
{
int left = 0;
int right = sz - 1;
int x = 0;
for(;right>=left;)
{
int mid = (right+left)/2;
if(arr[mid]>k)
{
right = mid-1;
}
else if(arr[mid]<k)
{
left = mid +1;
}
else
{
printf("该数的下标为%d",mid);
break;
}
}
if(left>right)
printf("不存在\n");
}
int main()
{
int arr1[]={0,1,2,3,4,5,6,7,8,9,10};
int t = 0;
int s = sizeof(arr1)/sizeof(arr1[0]);
scanf("%d",&t);
test(arr1,t,s);
return 0;
}