1、计算n的阶乘
#include <stdio.h> int main() { int n = 0; scanf("%d", &n); int i = 0; int ret = 1; for (i = 1; i <= n; i++) { ret *= i; } printf("%d", ret); return 0; }
2、计算1!+2!+3!+……+10!
#include <stdio.h> int main() { int i, j; int ret = 1; int sum = 0; for (i = 1; i <= 10; i++) { int ret = 1; for (j = 1; j <= i; j++) { ret *= j; } sum += ret; } printf("%d", sum); return 0; }
3、在一个有序数组中查找具体的某个数字n。(二分查找)
#include <stdio.h> int main() { int n = 0; int arr[] = { 1,2,3,4,5,6,7,8,9 }; printf("请输入你要找的值:\n"); scanf("%d", &n); int flag = 0; int left = 0; int right = 8; while (left <= right) { int mid = (left + right) / 2; if (arr[mid] > n) { right = mid - 1; } else if (arr[mid] < n) { left = mid + 1; } else { flag = 1; printf("找到了,下标为%d\n", mid); break; } } if (flag == 0) { printf("找不到!\n"); } return 0; }
4、编写代码,演示多个字符从两端移动,向中间汇聚。
#include <stdio.h> #include <string.h> #include <windows.h> int main() { char arr1[] = "welcome to Cstudying"; char arr2[] = "********************"; int left = 0; int right = strlen(arr1) - 1;//注意头文件 printf("%s\n", arr2); while (left <= right) { Sleep(1000);//Sleep函数是实现睡眠,单位是毫秒 // system("cls");//system是一个库函数,可以执行系统命令,cls是清空屏幕的一个命令 arr2[left] = arr1[left]; arr2[right] = arr1[right]; left++; right--; printf("%s\n", arr2); } return 0; }
5、 编写代码实现,模拟用户登录情景,并且只能登录三次。(只允许输入三次密码,如果密码正确则提示登录成功,如果三次均输入错误,则退出程序。#include <stdio.h> #include <string.h> int main() { char arr[] = {0};//字符数组 int i = 0; int flag = 0; for (i = 0; i < 3; i++) { printf("请输入密码:\n"); scanf("%s", arr); if (strcmp(arr, "666666") == 0) { flag = 1; printf("登录成功!\n"); break; } else { printf("第%d次登录失败,请重新输入。\n",i+1); } } if (flag == 0) { printf("退出程序!\n"); } return 0; }
6、完成猜数字游戏
#include <stdio.h> #include <time.h> void menu() { printf("********************\n"); printf("**** 1.play ****\n"); printf("**** 0.exit ****\n"); printf("********************\n"); } void game() { int yourGuess = 0; int realGuess = rand() % 100 + 1; //范围为2-100 while (1) { printf("请输入一个你要猜的数:"); scanf("%d", &yourGuess); if (yourGuess > realGuess) { printf("猜大了!\n"); } else if (yourGuess < realGuess) { printf("猜小了!\n"); } else { printf("猜对了!\n"); break; } } } int main() { menu(); int input = 0; srand((unsigned int)time(NULL)); do { printf("请选择1/0->:"); scanf("%d", &input); if (1 == input) { game(); break; } if (0 == input) { printf("退出游戏。\n"); break; } if (input != 0 && input != 1) { printf("输入的数据有误,请重新输入.\n"); } } while (input); return 0; }
【C语言】分支循环练习题
最新推荐文章于 2024-02-08 09:35:18 发布