用c语言实现模拟用户登录程序以及猜数字游戏
来源:互联网 发布:傲梦编程素质教育 编辑:程序博客网 时间:2024/06/07 09:28
c语言实现的小程序
1.编写代码实现,模拟用户登录情景,并且只能登录三次,只允许输入三次密码,如果密码正确则提示登录成功,如果三次均输入错误,则退出程序。
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ char password[] = "123456"; char input[10] = {0}; int i = 0; for (i = 0; i < 3; i++)//只允许最多输出三次密码 { printf("请输入密码:>"); scanf("%s",input); if (strcmp(password,input) == 0)//密码输入正确 { printf("登录成功\n"); break; } } if (i == 3)//如果条件成立,说明三次密码均输入错误 { printf("登录失败\n"); exit(1); } printf("取钱\n"); system("pause"); return 0;}
登录失败的结果截图:
登录成功的结果截图:
2.求n!
第一种方法:
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<string.h>#include<windows.h>int Factorial(int n){ int i = 1; int ret = 1; for (; i <= n; i++) { ret *= i; } return ret;}int main(){ int num = 0; printf("Please Enter a Number:>"); scanf("%d",&num); printf("result = %d",Factorial(num)); system("pause"); return 0;}
第二种方法:
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<string.h>//使用迭代方法int factorial(int num){ int result = 1; while (num > 1) { result *= num;//从num开始乘 num--; } return result;}int main(){ int num = 0; printf("请输入一个数:>"); scanf("%d",&num); printf("result = %d",factorial(num)); system("pause"); return 0;}
结果截图:
3.求1!+2!+3!+…+10!的结果。
第一种方法:
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main(){ int i=1; int j=1; int ret=1; int sum=0; for(j=1;j<=10;j++) { ret=1; for(i=1;i<=j;i++) { ret=ret*i; } sum=sum+ret; } printf("10!=%d\n",sum); system("pause"); return 0;}
这种方法虽然可以运行出结果,但是程序的效率低下,因为每次执行一个数的阶乘时都是从一开始进行的,而不是运用上次的结果继续向下继续运算,比如,执行4的阶乘时可以运用上次循环3的阶乘,直接在上次的结果上面乘以4就可以了
优化后的程序为:
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<string.h>#include<windows.h>int Add_Factorial(int n){ int sum = 1; int i =1; int ret = 1; for (i = 2; i <= n; i++)//加至n { ret *= i;//每次在前一个数阶乘的基础上再乘以i sum += ret;//前i个数的和 } return sum;}int main(){ int num = 0; printf("Please Enter a Number:>"); scanf("%d",&num); printf("result = %d\n",Add_Factorial(num)); system("pause"); return 0;}
运算的结果截图如下:
4.利用二分法查看数组中的某个数字:
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int main(){ int arr[]={1,2,3,4,5,6,7,8,9}; int i=0,input=0; int left=0; int right=sizeof(arr)/sizeof(arr[0])-1; int mid=0; printf("请输入要查找的数字:"); scanf("%d",&input); while(left <= right) { mid = left + (right - left)/2; if(input > arr[mid] ) { left = mid + 1; } else if(input < mid) { right = mid - 1; } else { printf("找到了,它的下标是:%d",mid); break; } } if(left>right) { printf("没找到\n"); } return 0;}
第二种方法(封装为函数后的程序):
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> #include<assert.h> void Find_Num( int *parr,int len, int key){ int left = 0; int right = len; int mid = 0 ; assert(parr);//检查指针是否为空 assert(len > 0); while (left <= right) { mid = (right - left)/2 +left;//中间数的下标 if (key > parr[mid])//中间数大于要查找的数 { left = mid +1; //更改左下标 } else if(key < parr[mid])//中间数小于要查找的数 { right = mid - 1;//更改右下标 } else { printf("找到了,它的下标是:%d",mid); break; } } if(left > right) { printf("没找到\n"); }}int main(){ int input = 0; int arr[] = {0,1,2,3,4,5,6,7,8};//在有序的一组数中查找 printf("请输入要查找的数字:"); scanf("%d",&input); Find_Num( arr,sizeof(arr)/sizeof(int) - 1,input); system("pause"); return 0;}
5.猜数字游戏:
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> #include<assert.h> #include<time.h>void menu(){ printf("*************************\n"); printf("*****1.play 0.exit*****\n"); printf("*************************\n");}void game(){ int key = rand()%100; int input = 0; while (1) { printf("请输入要猜的数字:>"); scanf("%d",&input); if (input > key) { printf("猜大了\n"); } else if(input < key) { printf("猜小了\n"); } else { printf("恭喜你,猜对了\n"); break; } }}int main(){ int choose = 0; srand((unsigned)time(NULL)); do { menu(); printf("请选择:>"); scanf("%d",&choose); switch (choose) { case 0: exit(1); break; case 1: game(); break; default: printf("输入无效,请重新选择>\n"); break; } } while (choose); system("pause"); return 0;}
结果截图如下:
此次是本人第一次写博客,写的有什么问题还希望大家可以不吝赐教
1 0
- 用c语言实现模拟用户登录程序以及猜数字游戏
- 用C语言实现猜数字游戏
- 猜数字游戏(c语言程序)
- c语言实现一个猜数字游戏。
- C语言实现猜数字游戏
- c语言实现猜数字游戏
- 通过C语言实现猜数字游戏
- C语言实现猜数字游戏
- 常见对象_模拟用户登录案例增强版加入猜数字游戏
- 【C语言】模拟用户登录系统 以及演示多个字符从两端向中间靠拢
- 用C语言编写猜数字游戏
- 程序模拟用户登录
- 猜数字游戏(c语言)
- 【C语言】 猜数字游戏
- C语言 猜数字游戏
- 【C语言】猜数字游戏
- C语言 猜数字游戏
- C语言 猜数字游戏
- cudaMemcpy与kernel
- Python Scapy(2.3.1)文档学习(六):添加新的协议
- linux文件学习6
- Spring中Bean的命名
- cocos2dx移植android平台
- 用c语言实现模拟用户登录程序以及猜数字游戏
- quartz的使用
- Python Scapy(2.3.1)文档学习(七):故常排除
- 用OSX给树莓派安装系统
- Spring 中bean与id 即默认值
- javassist使用样例
- iOS 各种动画效果
- MATLAB位运算(转)
- HTML 第三章 上机练习一