(1)用while语句实现密码确认
代码如下
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>int main(){char password[20] = { 0 };printf("请输入密码:>");//123456scanf("%s", password);printf("请确认密码:>");//清理缓冲区//getchar()//处理'
'int tmp = 0;while ((tmp = getchar()) != '
');{;//空语句}int ch = getchar();if (ch == 'Y'){printf("确认成功
");}else{printf("确认失败
");}}
输出结果如下
(2)计算n的阶乘。
代码如下
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>int main(){int i = 0;int n = 0;int ret = 1;printf("Please enter a number:
");scanf("%d", &n);for (i = 1; i <= n; i++){ret = ret * i;}printf("ret=%d", ret);return 0;}
输出结果如下
(3)计算n个数阶乘之和
代码如下
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>int main(){int i = 0;int n = 0;int ret = 1;int sum = 0;int s = 0;printf("Please enter a number:
");scanf("%d", &s);for (n = 1; n <= s; n++){int ret = 1;for (i = 1; i <= n; i++){ret = ret * i;}sum = sum + ret;} printf("sum=%d", sum);return 0;}
输出结果如下
(4)在一个有序数组中查找到某个数字下标
代码如下
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>int main(){int arr[] = { 1,2,3,4,5,6,7,8,9,10 };int k = 7;//假设要找的数字是7int 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
",mid);break;//跳出循环} }if (left > right){printf("未能找到数字下标
");}return 0;}
输出结果如下
(5)编写代码,演示多个字符从两边移动向中间汇聚
代码如下
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <string.h>#include <windows.h>int main(){char arr1[] = "I love you HYR!!!!!";char arr2[] = "*******************";int left = 0;int right = strlen(arr1) - 1;while (left <= right){arr2[left] = arr1[left];arr2[right] = arr1[right];printf("%s
", arr2);Sleep(1000);//睡眠1秒,使用时需要加上头文件#include<windows.h>system("cls");//清空屏幕left++;right--;}printf("%s
", arr2);return 0;}
输出结果如下
(6)输入三次密码,全输错就退出程序
代码如下
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <string.h>int main(){int i = 0;char password[] = { 0 };for (i = 0; i < 3; i++){printf("请输入密码:>");//假设正确的密码是123456scanf("%s", password);//password不用取地址,因为password是字符串,他的名字password本身就是地址if (strcmp(password, "123456") == 0){printf("输入密码正确,登陆成功");break;}else{printf("输入密码错误,请再输一次:
");}}if (i == 3){printf("三次密码均错误,退出程序
");}return 0;}
输出结果如下