【C语言趣味实验】

article/2025/3/18 12:59:17

C语言趣味实验--电脑关机&&猜数字

  • 前言
  • 一、如何实现强制关机?
      • shutdown用法
  • 二、优化
      • 改进1:通过输入的字符串来判断是否关机
      • 改进2:通过猜数字是否正确来判断是否关机
  • 总结


前言

亲爱的朋友们大家好,正如题目所见,今天给大家带来了一个趣味小实验–强制电脑关机
不过由于操作过于简单,不能体现和好兄弟的“深厚友谊”,所以博主我就进行了一些小小的改良,具体操作且看下文,我们一起进入今天的学习。


一、如何实现强制关机?

shutdown用法

使用shutdown -s 即可实现电脑关机
如果要实现定时关机可以加上 -t 60(单位/s,表示一分钟后关机)
要在C语言中实现,需要引用<stdlib.h>头文件,调用 system(); 函数

代码如下:

#include<stdio.h>
#include<stdlib.h>
int main(){
system("shutdown -s -t 60");//注意中间的空格不能少
return 0;
}

在这里插入图片描述


大家可不要只看了第一部分代码就开始实践,上面的只能设置关机,不能取消关机的。(哈哈)
取消关机的命令是:shutdown -a

代码如下:

#include<stdio.h>
#include<stdlib.h>
int main(){
system("shutdown -s -t 60");
system("shutdown -a");
return 0;
}

在这里插入图片描述


二、优化

改进1:通过输入的字符串来判断是否关机

这里用到了字符串的比较函数strcmp(); 所以需要引用头文件<string.h>
简单介绍以下比较函数:

int strcmp ( const char * str1, const char * str2 );
比较两个字符串
将 C 字符串 str1 与 C 字符串 str2 进行比较。
此函数开始比较每个字符串的第一个字符。如果它们彼此相等,则继续使用以下对,直到字符不同或达到终止空字符。
str1>str2 返回 1
str1=str2 返回 0
str1<str2 返回 -1

#include<stdio.h>
#include<stdlib.h>
#include<string.h>int main() {system("shutdown -s -t 60");char str[20] = { 0 };char cmp[20] = { "我是猪" };//或者“***下一周的饭我带了”while (1) {puts("请输入“我是猪”,否则电脑将会在一分钟后关机。");scanf("%s", str);if (strcmp(str, cmp) == 0) {system("shutdown -a");puts("恭喜你,关机取消。");break;}}return 0;
}

改进2:通过猜数字是否正确来判断是否关机

该部分设计了一个猜数字小游戏
那么我们就要来设置随机数:
1、我们可以直接创建一个整形数组提前设计好“随机数”;
2、也可以调用 rand()函数 来生成“伪随机数”,之所以叫伪随机数是因为rand()生成的数字虽然的确是随机的,但是由于每次启动生成的数都是一样的(相当于之前设计好的数组);

rand()不需要参数,他会生成一个从0到最大随机数的任意整数,最大随机数的大小通常是一个固定的大整数;
如果你要产生一个0~99中的随机数,可以表达为 rand()%100
生成一个1~100的随机数,可表达为 rand()%100+1

3、引用<time.h>头文件,来设置随机数种子 srand((unsigned int)time(NULL)),
引用<time.h>头文件可以调用系统时间,这里以时间为种子使得每次产生的随机数都不相同


设置游戏开始界面:

void Home() {printf("	************************************\n");printf("	***输入:1、开始游戏  0、退出游戏***\n");printf("	************************************\n");
}

设计猜数字游戏:

void game() {system("shutdown -s -t 60");//一分钟后关机puts("游戏开始,如果一分钟内未能猜对数字,电脑将自动关机。");int num = rand() % 100 + 1;	//	生成1--100的随机数int n = 0;printf("请输入猜测数字:");
while(1){scanf("%d", &n);if (n == num) {system("shutdown -a");	//关机取消printf("恭喜你猜对了, 关机取消\n");break;}else {if (n > num)printf("猜大了,请重新输入:");elseprintf("猜小了,请重新输入:");}}
}

完整代码如下:

#include<stdi0.h>
#include<stdlib.h>
#include<time.h>void Home() {printf("	************************************\n");printf("	***输入:1、开始游戏  0、退出游戏***\n");printf("	************************************\n");
}void game() {system("shutdown -s -t 60");puts("游戏开始,如果一分钟内未能猜对数字,电脑将自动关机。");int num = rand() % 10000 + 1;//生成1~10000的随机数,当然我们自己测试的时候可以设置1~100int n = 0;printf("请输入猜测数字:");
while(1){scanf("%d", &n);if (n == num) {system("shutdown -a");	//关机取消printf("恭喜你猜对了, 关机取消\n");break;}else {if (n > num)printf("猜大了,请重新输入:");elseprintf("猜小了,请重新输入:");}}
}int main() {srand((unsigned int)time(NULL));int k = 0;while (1) {Home();printf("是否开始游戏:");scanf("%d", &k);if (k == 0)break;game();system("pause");system("cls");}return 0;
}

总结

以上,就是我们今天一起学习的内容,能给大家增进同学友谊的事情我当然是义不容辞的,希望能给大家带来帮助,谢谢。


http://chatgpt.dhexx.cn/article/pbfah6d8.shtml

相关文章

南京邮电大学C语言实验报告二

实验二&#xff1a;选择与循环结构编程 实验题目&#xff08;1&#xff09;【见实验教材实验二的题目6】&#xff1a;编程序exp2_6.c&#xff0c;读入3个double型变量a,b,c的值&#xff0c;用if语句判断它们能否构成三角形&#xff0c;如果能构成三角形又是构成的何种三角形&a…

C语言实验四

目录 1.国王的麦子 2. 求完数。 3.打印九九乘法表 4&#xff0e;求1!2!3!…20!&#xff1b; 5.&#xff08;1&#xff09;输入一行字符&#xff0c;分别统计出其中的英文字母、空格、数字和其它字符的个数。 &#xff08;2&#xff09;在得到正确结果后&#xff0c;请修…

c语言的实验,c语言 实验1

实验结论 Part 1 首次运行Part 1的几个实验内容时会产生错误&#xff0c;原因如下 有时忘记在主函数中的每行末尾加分号 return 0 时空格错误导致程序运行失败 # include int product (int,int); int main (void) { int x,y,s; scanf("%d%d",&x,&y); sprodu…

大一 C语言 实验1

《程序设计基础》上机实验报告 学号&#xff1a;201420224912 姓名&#xff1a;许培鑫 班级&#xff1a;计算机149 日期&#xff1a;2015-5-7 指导教师&#xff1a;成筠 成绩&#xff1a; ----------------------------------------------------------------- 实验六…

C语言 实验五

复制之前给个赞&#xff0c;好吗(〃▽〃) 题目一 7-1 参考书 (100 分) 某次考试是开卷考试。老师规定&#xff0c;纸质的资料&#xff08;以下统一称为参考书&#xff09;可以随便带&#xff0c;或者说只要你背得动想带多少本参考书都行。于是同学们就开始准备参考书了。就在…

C语言程序设计实验报告——实验一

C语言程序设计实验报告——实验一 实验一 简单C程序调试&#xff08;一&#xff09;第一个C程序1、实验题目&#xff1a;2、实验环境&#xff1a;3、实验步骤及过程&#xff1a;4、实验结果&#xff08;~~猜都猜得出来~~ &#xff09; &#xff08;二&#xff09;第二个C程序1、…

C语言实验报告(通用)

​​​​​​ 设计目的 公交线路基本信息的录入。1、线路信息的录入、修改等操作。2、要求系统要以菜单方式进行工作。3、公交线路包括&#xff1a;公交车号、起始发出车时间与末班车时间、票价等信息。 1.2 对知识点的基本介绍或者代码举例 正文&#xff0c;中文&#xff1a;宋…

RSA加密算法的数学原理

文章目录 RSA数学原理获取两个不相等的质数pq把p和q相乘&#xff0c;得到n计算出小于n的自然数中&#xff0c;有多少数与n互质&#xff08;欧拉函数&#xff09;在1和φ(n)之间&#xff0c;选取一个随机质数e求e和φ(n)的模反元素d&#xff08;裴蜀定理、扩展欧几里得算法&…

常见的加密算法原理与实现:RSA加密

系列四&#xff1a;RSA加密 一、基本背景二、算法原理2.1、生成公钥和私钥2.2、加密消息2.3、解密消息 三、Python实现RSA算法3.1、基于pycryptodome库实现RSA加解密3.2、基于rsa库实现RSA加解密 四、参考文献 一、基本背景 RSA算法是是由罗纳德李维斯特&#xff08;Ron Rives…

RSA加密和解密原理及过程(非对称加密)

非对称加密 用公钥来加密数据发送出去&#xff0c;接收方收到数据后用私钥解密数据。公钥是所有人都知道的&#xff0c;私钥只有接收方才知道。 加密解密基本流程 注意&#xff1a;公钥私钥中的33是同一个数字&#xff0c;是公开的&#xff0c;只有私钥的3是只有接收方才知道…

关于RSA加密解密原理

前言&#xff1a; 随着我们的学习的不断深入&#xff0c;信息的安全也愈加重要&#xff0c;我们发布的代码中可能含有我们的私密信息&#xff0c;比如对接支付宝沙箱api&#xff0c;下载一些专业软件时就需要我们输入公钥和私钥以此来验证我们的身份信息&#xff0c;就相当于用…

RSA加密解密原理及工具类

1. 什么是RSA RSA算法是现今使用最广泛的公钥密码算法&#xff0c;也是号称地球上最安全的加密算法。 RSA是被研究得最广泛的公钥算法&#xff0c;从提出到现在已近三十年&#xff0c;经历了各种攻击的考验&#xff0c;逐渐为人们接受&#xff0c;普遍认为是目前最优秀的公钥…

RSA 非对称加密原理(小白也能看懂哦~)

RSA 加密原理 步骤说明描述备注1找出质数P 、Q-2计算公共模数N P * Q-3欧拉函数φ(N) (P-1)(Q-1)-4计算公钥E1 < E < φ(N)E的取值必须是整数 E 和 φ(N) 必须是互质数5计算私钥DE * D % φ(N) 1-6加密C &#xff1d; M E mod NC&#xff1a;密文 M&#xff1a;明文7…

RSA加密的原理——为什么被公钥加密的可以被私钥解密?

RSA加密的原理——为什么被公钥加密的可以被私钥解密&#xff1f; 目录 一&#xff0c;RSA 数学理论基础 二&#xff0c;RSA实现原理 三&#xff0c;RSA加密的过程 四&#xff0c;参考文献 引言 在密码学最开始&#xff0c;都是使用的普通加密模式 A 用加密规则加密了字符串m…

关于RSA加密原理

什么是RSA RSA算法是现今使用最广泛的公钥密码算法&#xff0c;也是号称地球上最安全的加密算法。在了解RSA算法之前&#xff0c;先熟悉下几个术语 根据密钥的使用方法&#xff0c;可以将密码分为对称密码和公钥密码 对称密码&#xff1a;加密和解密使用同一种密钥的方式 公钥密…

RSA加密原理与RSA公钥加密系统、数字签名

通过公钥加密系统&#xff0c;可以对传输于两个通信单位之间的消息进行加密&#xff0c;即使窃听者窃听到加密之后的消息&#xff0c;也不能对其破译。 1、RSA公钥加密原理 1.1 几个核心概念 公钥P与公钥函数P()密钥S与密钥函数S() 可以简单理解&#xff0c;一个公钥对应一个…

RSA加密解密原理

引言&#xff1a; CTF密码学类题目中&#xff0c;RSA加密可谓是很重要且常见的加密类型&#xff0c;今天就总结下 RSA加密的原理及解密方法。 文章目录 RSA算法简介:1、什么是非对称加密算法&#xff1a;2、RSA 加密原理&#xff1a;3、RSA加密算法过程详解&#xff1a…

# RSA加密原理和一些知识笔记

RSA加密原理和一些知识笔记 原文地址&#xff1a; 01&#xff1a;RSA 加密和原理 .pem .csr .crt .der .p12文件的区别 base64 (https://www.cnblogs.com/zyzmlc/p/12875277.html) 写得不错&#xff0c;这应该是他的学习笔记&#xff0c;我做了一些错误修正 复习&#xff1a;…

Rsa加密原理与简单实现

源码&#xff1a;https://gitee.com/Cheney822/programmes/blob/master/rsa.py 1背景 1.1 数据加密 指的是根据一定规则&#xff0c;将数据处理成不规则的数据&#xff0c;使得人们除非有了关键的钥匙以及得知这个规则&#xff0c;难于得知无规则数据的真实含义。这个一定规则…

RSA加密原理简述

RSA加密原理简述 RSA简介&#xff1a;前置技能&#xff08;数论知识&#xff09;RSA加密原理 RSA简介&#xff1a; RSA加密算法使用不同的加密密钥与解密密钥&#xff0c;且由已知加密密钥推导出解密密钥在计算上是不可行的&#xff0c;以此来保障安全。 RSA算法通常是先生成一…