yg飞许 发表于 2023-11-18 15:11:14

c++DEV

/*循环:需要被重复执行很多次的代码
        1.while(结束条件①){
                循环体;②
                趋近结束条件③
        }
        1 2 3 1(不成立)结束
        2.do{
        循环体①
        趋近结束条件 ②
        }while(结束条件③)
        先执行一次循环体,然后再执行条件判断
        ① ② ③(跳出)
        */
作业       
/*猜数字游戏(1-100),有五次输入机会
        若猜对则结束循环输出恭喜你猜对啦,奖励一分
        若没猜对,给出提示, 给出提示还有几次猜数字机会,并继续猜
        若机会用完,则输出,你真是个小趴菜啊!!
       
        */
       

isdkz 发表于 2023-11-18 15:11:25

#include <iostream>
using namespace std;

int main() {
    int target = 74; // 目标数字
    int guess; // 猜测的数字
    int chances = 5; // 剩余机会

    do {
      cout << "请输入一个猜测的数字(1-100):";
      cin >> guess;

      if (guess == target) {
            cout << "恭喜你猜对啦,奖励一分!" << endl;
            break;
      } else {
            chances--;
            if (chances > 0) {
                cout << "猜错啦,你还有" << chances << "次机会。" << endl;
            } else {
                cout << "你真是个小趴菜啊!!" << endl;
                break;
            }
      }
    } while (chances > 0);

    return 0;
}


这是一个简单的猜数字游戏程序。使用do-while循环来实现,确保至少会执行一次猜数字的过程。用户每次输入猜测的数字,程序会判断是否猜对,如果猜对则输出恭喜信息并结束循环,如果猜错则给出剩余机会的提示,当机会用完时输出失败信息。

Mike_python小 发表于 2023-11-18 15:12:58

你好,感谢你对循环和猜数字游戏的关注。循环的概念你已经描述得很清楚了,接下来我将尝试回答你的作业。

以下是一个示例代码,实现了你描述的猜数字游戏的逻辑:


#include <iostream>

int main() {
    int secretNumber = 42;// 设置秘密数字
    int guess;
    int attempts = 5;

    std::cout << "欢迎参加猜数字游戏!\n";
    std::cout << "你有五次机会猜测一个1到100之间的数字。\n";

    do {
      std::cout << "请输入你的猜测:";
      std::cin >> guess;

      if (guess == secretNumber) {
            std::cout << "恭喜你猜对啦!奖励一分。\n";
            break;// 猜对了,结束循环
      } else {
            attempts--;
            std::cout << "很抱歉,你猜错了!";

            if (attempts > 0) {
                std::cout << "你还有" << attempts << "次机会。\n";
            } else {
                std::cout << "你真是个小菜鸟啊!正确答案是:" << secretNumber << "\n";
            }
      }
    } while (attempts > 0);

    return 0;
}


在这段代码中,使用了do-while循环结构来实现猜数字游戏的逻辑。首先输出欢迎信息和提示,然后执行循环体内的代码,用户每次输入猜测的数字,与预设的秘密数字进行比较。

如果猜对了,输出恭喜的信息,并使用break语句结束循环。

如果猜错了,减少剩余机会次数,并输出提示信息。如果还有剩余机会,则继续执行循环;否则,输出正确答案并结束循环。

希望以上代码对你有帮助。如果有任何问题,请随时提问。

yg飞许 发表于 2023-11-18 18:05:00

本帖最后由 yg飞许 于 2023-11-18 18:09 编辑

Mike_python小 发表于 2023-11-18 15:12
你好,感谢你对循环和猜数字游戏的关注。循环的概念你已经描述得很清楚了,接下来我将尝试回答你的作业。

...

首先非常感谢你解答
1,复制代码有小小问题,但是问题不大
2,不太理解“<<>>”
3.,如果改成这样,如何改
#include <iostream>
int main() {
    int secretNumber = 42;// 设置秘密数字
    int guess;
    int attempts = 5;
    printf("欢迎参加猜数字游戏!\n");
    printf( "你有五次机会猜测一个1到100之间的数字。\n");
    do {
      printf ( "请输入你的猜测:");
      std::cin >> guess;                                             (1)//如何改
      if (guess == secretNumber) {
            printf("恭喜你猜对啦!奖励一分。\n");
            break;// 猜对了,结束循环
      } else {
            attempts--;
            printf ( "很抱歉,你猜错了!");
            if (attempts > 0) {
                    scanf("%d",&attempts)                                 (2)//这里加个scanf
                printf( "你还有%d次机会。\n");                        (3)// 这里有问题
            } else {
                printf ( "你真是个小菜鸟啊!正确答案是:" << secretNumber << "\n");            (4)//将"<<>>"改掉
            }
      }
    } while (attempts > 0);
    return 0;
}

yg飞许 发表于 2023-11-22 17:02:45

yg飞许 发表于 2023-11-18 18:05
首先非常感谢你解答
1,复制代码有小小问题,但是问题不大
2,不太理解“”


#include <stdio.h>
main(){
int num =60,res,time=1;
        printf("请输入数字");
        while(time<=5){
                scanf("%d",&res);
                        if(res==num){
                                printf("恭喜第%d次就答对了",time);
                                break;
                }else{
                        if(time==5){
                                printf("机会用完,游戏结束");
                                break;
                        }
                        if(res>num){
                                printf("猜错,猜大了,还有%d次机会",5-time);
                }else{
                        printf("猜错,猜小了,还有%d次机会",5-time);
                }
        }
        time++;
}
}
页: [1]
查看完整版本: c++DEV