计算n的阶乘

#include<stdio.h>
int main()
{
	int n,i=1,ret=1;
	printf("请输入你的n\n");
    scanf("%d",&n);
    while(i<=n)
    {
    ret=i*ret;
    i++; 
    } 
    printf("%d",ret);
	return 0;
}

*计算1!+2!+。。。。。。+10!

#include<stdio.h>
int main()
{
	int i,ret=1,x=0;
	for(i=1;i<11;i++)
	{
        ret=ret*i;
        x+=ret;
	}
	
	printf("1!+2!+。。。。。。+10!=%d",x);
	return 0;
}

二分法查找有序数组中某一个数的下标

#include<stdio.h>
int main()
{
	int arr[]={1,2,3,4,5,6,7,8,9,10};
	int k=7;
	int sz=sizeof(arr)/sizeof(arr[0]);  //求数组里面元素的个数
	int left=0;  //左下标 
	int right=sz-1;  //右下标 
	while(left<=right)
	{
	int mid=(left+right)/2;
	if(arr[mid]>k)
	{
	right=mid-1;
	}
	else if(arr[mid]<k)
	{
		left=mid+1;
	}
    else
    {
	printf("找到了,下标是:%d\n",mid);break;
    }
	}
    if(left>right);
    printf("查无此数");
    return 0;
}