////猜数字游戏 #include<stdio.h> #include<stdlib.h> #include<time.h> // 产生一个0~RAND_MAX之间的伪随机数 // int rand=rand(); 错误 //rand() 函数是标准库中的一个函数,用于生成一个伪随机数 // 而 rand 是一个变量名,当你使用 int rand = ...; 时 // 你实际上是在尝试定义一个名为 rand 的变量 由于变量名和函数名冲突,编译器通常会报错 // srand(1); 这样传入一个种子会固定不变 void menu() { printf("************************************\n"); printf("欢迎来到猜数字游戏:\n"); printf("请选择:1.play 0.quit\n"); printf("********************************\n"); } void game() { // 初始化随机数生成器 srand((unsigned int)time(NULL)); // 生成一个1到100之间的随机数 int red = rand() % 100 + 1; int guess; int count = 0; while (count < 3) { // 允许用户猜3次 printf("你还有%d次机会,请输入一个数字:", 3 - count); if (scanf("%d", &guess) != 1) { // 如果输入不是整数,则清除输入缓冲区并提示用户重新输入 while (getchar() != '\n'); printf("输入错误,请输入一个整数。\n"); continue; // 跳过当前循环的剩余部分,重新开始循环 } if (guess > red) { printf("猜大了,请再试一次。\n"); } else if (guess < red) { printf("猜小了,请再试一次。\n"); } else { printf("恭喜,猜对了!\n"); return; // 猜对后退出函数 } count++; // 增加猜测次数 } // 如果循环正常结束,即用户用完猜测次数 printf("很遗憾,你没有猜对。正确答案是%d。\n", red); } int main() { int choice; do { menu(); printf("请输入选择: "); if (scanf("%d", &choice) != 1) { // 如果输入不是整数,清除输入缓冲区并提示用户重新输入 while (getchar() != '\n'); printf("输入错误,请输入1(play)或0(quit)。\n"); continue; } switch (choice) { case 1: game(); break; case 0: printf("退出游戏\n"); break; } } while (choice != 0); // 当用户输入0时退出循环 return 0; }
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器