题目一:计算n的阶乘。
#includeint main() { int i = 0; int n = 0; int ret = 1; scanf("%d", &n); for (i = 1; i <= n; i++) { ret *= i; } printf("%dn", ret); return 0; }
题目二:计算1!+2!+3!+......+10!
#includeint main() { int i = 1; int j = 1; int sum = 0; for (i = 1; i <= 10; i++) { int n = 1; for (j = 1; j <= i; j++) { n *= j; } sum += n; } printf("sum = %dn", sum); return 0; }
#includeint main() { int n = 0; int ret = 1; int sum = 0; for (n = 1; n <= 10; n++) { ret *= n; sum += ret; } printf("%dn", sum); return 0; }
题目三:在一个有序数组中查找具体的某个数字n。编写int binsearch(int x,intv[],int n);功能:在v[0]<=v[1]<=[2]<=......<=v[n-1]的数组中查找x
includeint main() { int arr[] = { 1,2,3,4,5,6,7,8,9,10 }; int k = 7;//要查找的数字 //在arr这个有序的数组中查找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) { left = mid + 1; } else if (arr[mid] > k) { right = mid - 1; } else { printf("找到了,下标是:%dn", mid); break; } } if (left > right) { printf("找不到了n"); } return 0; }
题目四:编写代码,演示多个字符从两端移动,向中间汇聚。
#include#include #include int main() { char arr1[] = "Hello World!!!!!!"; char arr2[] = "#################"; int left = 0; int right = strlen(arr1)-1; while (left<=right) { arr2[left] = arr1[left]; arr2[right] = arr1[right]; printf("%sn", arr2); Sleep(1000);//睡眠1秒 system("cls");//清空屏幕 left++; right--; } printf("%sn", arr2); return 0; }
题目五:编写代码实现,模拟用户登陆情景,并且只能登录三次。(只允许输入三次密码,如果密码正确则提示登陆成功,如果三次均输入错误,则退出程序)。
#include#include int main() { int i = 0; //假设正确的密码是字符串"123456" char password[20] = { 0 }; for (i = 0; i < 3; i++) { printf("请输入密码:>"); scanf("%s", password); if(strcmp(password, "123456") == 0) { printf("登录成功n"); break; } else { printf("密码错误,重新输入!n"); } } if (i == 3) printf("三次密码均错误,退出程序n"); return 0; }



