计算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; }