C语言程序:典中典之关机小程序和猜数字游戏

1.关机小程序

本次案例需要用到strcmp这个函数

strcmp是用来比价字符串大小的

//如果两字符串相比较

// > ,则返回>0

//< ,则返回<0

//== ,则返回0

1.通过while 语句进行的

#include<stdio.h>
int main()
{
 char ch[20]={0};
 system("shoudown -s -t 60");
 while(1)
 {
  printf("你的电脑即将关机,请输入“放弃关机”终止关机");
  scanf("%s",ch);
  if(strcmp(ch,放弃关机)==0)
  {
   system("shoutdown -a");
   printf("谢谢配合,已经终止关机");
   break;
  }
 }
   return 0;
}

 2.通过goto进行的

#include<stdio.h>
int main()
{
 char ch[20]={0};//定义一个数组
system("shoutdown -s -t 60");指令倒计时关机
again:
 {
   printf("你的电脑要被关机了,请输入“放弃关机”来终止关机\n");//告知一下
   scanf("%s",ch);//输入你要输入的字符串,%s是用来打印字符串的
   if(strcmp(ch,放弃关机)==0)
   { 
    system("shutdown -a");
    printf("你很配合,已经取消关机\n");
    break;
   }
   else
       goto again;//通过goto语句跳回again继续循环
  }
 return 0;
 }

猜数字小游戏

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<time.h>//time函数需要的头文件
#include<stdlib.h>//rand和srand需要的头文件
void menu()
{
	printf("*********************\n");
	printf("*********************\n");
	printf("*******1.play********\n");
	printf("*******2.exit********\n");
	printf("*********************\n");
	printf("*********************\n");
}


void game()
{//rand函数在产生随机数之前需要使用srand函数设置一个随机数生成器
	int ret = rand() % 100 + 1;//生成一个1-100的随机数
	int guess = 0;
	while (1)
	{
		printf("请猜数字>");
		scanf("%d", &guess);//获取输入的数字
		if (guess > ret)//生成的随机数和输入的数字进行比较
			printf("猜大了\n");
		else if (guess < ret)
			printf("猜小了\n");
		else
		{
			printf("恭喜你,猜对了\n");
			break;
		}
	}
}
int main()
{
	int input = 0;
	srand((unsigned int)time(NULL));
	//srand就是rand的随机数生成器,但是srand要让rand生成随随机数也需要有一个随机变化的值
	//通过时间戳来获取一个时刻在变化的值,通过unsigned int 将time函数的值转换成srand需要的值
	//srand函数只需要调用一次就可以让rand生成随机数
	do
	{
		menu();
		printf("请选择>:");
		scanf("%d",&input);//获取你输入的值进行switch
		switch (input)
		{
		case 1:
			game();
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("选择错误,请重新选择\n");
			break;
		}
		
	} while (input);//获取你输入的值作为判断条件只要是非0就会继续进入do
	return 0;
}

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值