#include<stdio.h>intmain(){int n =0;scanf("%d",&n);int i =0;int sum =1;for(i =1; i <= n; i++){
sum *= i;}printf("%d", sum);return0;}
2.计算 1!+2!+3!+……+10!
intmain(){int i =0;int sum =0;for(i =1; i <=10; i++){int num =1;int j =0;for(j =1; j <= i; j++){
num *= j;}
sum += num;}printf("%d", sum);//4037913return0;}
intmain(){int i =0;int sum =0;int num =1;for(i =1; i <=10; i++){
num *= i;
sum += num;}printf("%d", sum);//4037913return0;}
3.二分查找
//二分查找intmain(){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 = (right + left) / 2;int mid = left +(right - left)/2;if(arr[mid]> k){
right = mid -1;}elseif(arr[mid]< k){
left = mid +1;}else{printf("找到了");break;}}if(left > right)printf("没找到");return0;}
4.猜数字游戏
//猜数字voidmenu(){printf("****************\n");printf("*****1.Play*****\n");printf("*****0.Exit*****\n");printf("****************\n");}voidgame(){int ret =rand()%100+1;int num =0;while(1){printf("请输入要猜的数字:");scanf("%d",&num);if(num > ret){printf("猜大了\n");}elseif(num < ret){printf("猜小了\n");}else{printf("猜对了\n");break;}}}intmain(){int input =0;srand((unsignedint)time(NULL));do{menu();printf("请选择:");scanf("%d",&input);switch(input){case1:game();break;case0:printf("退出游戏!\n");break;default:printf("选择错误,请重新选择!\n");break;}}while(input);return0;}
5.打印100~200之间的素数
//打印100~200之间的素数intmain(){int i =0;for(i =100; i <=200; i++){int j =0;int flag =0;for(j =2; j <= i -1; j++)//for (j = 2; j <= sqrt(i); j++){if(i % j ==0){
flag =1;break;}}if(!flag){printf("%d ", i);}}return0;}
6.给定两个数,求这两个数的最大公约数
intmain(){int a =18;int b =24;int min = a < b ? a : b;while(min){if(a % min ==0&& b % min ==0){break;}
min--;}printf("%d\n", min);return0;}
//辗转相除intmain(){int a =18;int b =24;int c =0;while(c=a%b){
a = b;
b = c;}printf("%d\n", b);return0;}
7.9*9乘法表
//9*9乘法表//1*1=1//1*2=2 2*2=4//1*3=3 2*3=6 3*3=9intmain(){int i =0;int j =0;for(i =1; i <=9; i++){for(j =1; j <= i; j++){printf("%d*%d=%2d ", j, i, i * j);}printf("\n");}return0;}
//会有溢出问题intmain(){int a =3;int b =5;printf("交换前:a=%d b=%d",a ,b);
a = a + b;
b = a - b;
a = a - b;printf("交换后:a=%d b=%d",a ,b);return0;}
intmain(){int a =3;int b =5;printf("交换前:a=%d b=%d",a ,b);
a = a ^ b;//a=3^5
b = a ^ b;//b=3^5^5=3
a = a ^ b;//a=3^5^3=5printf("交换后:a=%d b=%d",a ,b);return0;}