Blank . 2024-03-13 15:11 采纳率: 84.6%
浏览 3
已结题

结果运行不出来卡住了不知道为啥

img

img


如题,结果运行不出来卡住了求解答谢谢(请忽略zs谢谢不小心按到了)

  • 写回答

4条回答 默认 最新

  • 檀越@新空间 2024-03-13 15:11
    关注

    Blank . 下午好🌅🌅🌅
    本答案参考ChatGPT-3.5

    这段代码存在一些语法错误和逻辑错误。以下是对代码的修复和改进:

    1. 修复语法错误:删除代码一开始的多余的注释符号"#",并修正多处错误的中英文标点符号。

    2. 修复语法错误:将代码中的变量intn修改为int n,并且将变量j修改为j[10001]

    3. 修复语法错误:将输入提示语句请输入地毯的个数:修改为请输入地毯的个数:

    4. 修改循环判断条件:将代码中的第一个循环的判断条件for(i=1;i<=nji++)修改为for(i=1;i<=n;i++);将第二个循环的判断条件for(i=1ji<=nji++)修改为for(i=1;i<=n;i++)

    5. 修正逻辑错误:判断地毯是否覆盖给定点的位置应该使用逻辑运算符"&&",而不是位运算符"&"。

    6. 修正逻辑错误:修正最后输出结果的位置,将输出语句printf("%d\n",g);移到循环外部。

    下面是修改后的代码:

    #include <stdio.h>
    #include <math.h>
    
    int main(){
        int n, i, a[10001], b[10001], j[10001], k[10001], x, y;
        int g = -1;
        
        printf("请输入地毯的个数: ");
        scanf("%d", &n);
        
        for(i = 1; i <= n; i++){
            scanf("%d%d%d%d", &a[i], &b[i], &j[i], &k[i]);
        }
        
        scanf("%d%d", &x, &y);
        
        for(i = 1; i <= n; i++){
            if((x >= a[i] && y >= b[i]) && ((x <= (a[i]+j[i])) && (y <= (b[i]+k[i])))){
                g = i;
            }
        }
        
        printf("%d\n", g);
        
        return 0;
    }
    

    请尝试使用修改后的代码进行运行,如果还有问题,请提供具体的错误提示信息。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 9月5日
  • 已采纳回答 8月28日
  • 创建了问题 3月13日