2301_81175034 2024-04-24 09:07 采纳率: 36.4%
浏览 11
已结题

猜数字游戏ptaC语言

img


刚刚学习C语言,看看哪里错了
在pta上运行结果对了,但是提交显示结果错误

  • 写回答

5条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-24 09:07
    关注

    引自免费微信小程序:皆我百晓生

    在您提供的代码中,存在一些语法错误和逻辑问题。我已经为您修复了这些问题,并提供了一个修改后的版本。您可以将这段代码复制到您的IDE(集成开发环境)中进行测试。

    #include<stdio.h>
    
    int main() {
        int m, n;
        printf("Enter the target number (m) and maximum attempts (n): ");
        scanf("%d %d", &m, &n);
    
        int i, k;
    
        for (i = 1; i <= n; i++) { // 修改了for循环条件,确保最多尝试n次
            scanf("%d", &k);
    
            if (k < 0) {
                printf("Invalid input. Game Over.\n");
                break;
            }
    
            if (k == m) {
                if (i == 1)
                    printf("Bingo!\n");
                else if (i <= 3)
                    printf("Lucky-You!\n");
                else if (i <= n)
                    printf("Good-Guess!\n");
                break;
            } else if (k > m) {
                printf("Too-big\n");
            } else if (k < m) {
                printf("Too-small\n");
            }
        }
    
        return 0;
    }
    

    主要更改包括:

    1. main()函数定义中的类型声明更正为int main()
    2. 添加了提示用户输入目标数和最大尝试次数的语句。
    3. 修改了第8行的for循环条件,从for(i=1;i++;)改为for(i=1; i<=n; i++),这样可以确保最多尝试n次。
    4. 更正了第15行的条件判断语句,将=1改为了==1,因为您需要比较而不是赋值。
    5. 当用户输入负数时,添加了处理逻辑,输出"Invalid input. Game Over."并结束游戏。

    现在这个代码应该可以在PTA上正确运行,并给出预期的结果。记得在提交之前检查一下是否还有其他未发现的拼写或格式错误。祝您好运!

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月9日
  • 创建了问题 4月24日

悬赏问题

  • ¥50 使用MS Log Parser查询使用Bitvise SSH Server登录的IP
  • ¥20 校园二手交易小程序搭建
  • ¥15 请问在ubuntu用conda创建环境报错怎么能解决
  • ¥15 STM32CubeMX/proteus按键控制指示灯颜色切换
  • ¥20 python,计算区位熵和扩张指数
  • ¥15 Python环境配置
  • ¥15 大四学生的困惑,有偿提问!
  • ¥15 解决页面无法编入索引:被“noindex”标签排除的问题?
  • ¥15 arduino测量电阻
  • ¥15 快手uid转快手号谁能解决 需要开发