闰年
#include<math.h>
#include<stdio.h>
int is_leap_year(int y)
{
if((y%4==0&&y%100!=0)||(y%400==0))
return 1;
else
return 0;
}
int main()
{
int year=0;
for(int year=1000;year
{ if(1==is_leap_year(year))
{
printf("%d\n",year);
}
}
return 0;
}
比较找出最大值
int get_max(int x,int y)
{
if(x>y)
return x;
else
return y;
}
int main()
{
int a=10;
int b=20;
int max=get_max(a,b);
printf("max=%d\n",max) ;
return 0;
}
查找数的下标
int binary_search(int arr[],int k,int sz)
{
int left=0;
int right=sz-1;
while(left
{
int mid=(left+right)/2;
if(arr[mid]
{
left=mid+1;
}
else if(arr[mid]>k)
{
right=mid-1;
}
else
{
return mid;
}
}
return -1;
}
int main()
{
int arr[]={1,2,3,4,5,6,7,8,9};
int k=7;
int sz=sizeof(arr)/sizeof(arr[0]);
int ret=binary_search(arr,k,sz);
if(ret==-1)
{
printf("找不到指定的数字\n");
}
else
{
printf("找到了,下标是%d\n",ret);
}
return 0;
计算字符串长度
void Add(int*p)
{
(*p)++;
}
int main()
{
int num=0;
Add(&num);
printf("num=%d\n",num);
Add(&num);
printf("num=%d\n",num);
Add(&num);
printf("num=%d\n",num);
return 0;
}
#include
int main()
{
int len=0;
len=strlen("abc");
printf("%d\n",len);
printf("%d",strlen("abc")); return 0;
}
数字反转void print(int n)
{
if(n>9)
{
print(n/10);
}
printf("%d",n%10);
}
int main()
{
unsigned num=0;
scanf("%d",&num);
print(num);
return 0;
}
斐波那契数列
int count=0;
int Fib(int n)
{
if(n==3)
{
count++;
}
if(n
return 1;
if(n>2)
return Fib(n-1)+Fib(n-2);
}
int Fib(int n)
{
int a=1;
int b=1;
int c=1;
while(n>2)
{
c=a+b;
a=b;
b=c;
n--;
}
return c;
}
阶乘计算
int Fac1(int n)
{
int i=0;
int ret=1;
for(i=1;i
{
ret*=i;
}
return ret;
}
int Fac2(int n)
{
if(n
return 1;
else
return n*Fac2(n-1);
}
int main()
{
int n=0;
int ret=0;
scanf("%d",&n);
ret=Fac1(n);
printf("%d\n",ret);
return 0;
}