+U94 2022-11-09 11:35 采纳率: 100%
浏览 19
已结题

c语言出错了help!help

问题遇到的现象和发生背景

错了

运行结果及报错内容

img

我的解答思路和尝试过的方法

用了函数和结构体来解决,但是不知道哪儿出错了

#include<stdio.h>
typedef struct sd//定义结构体
{
int ch;
int math;
int eng;
int add;
}sd;
int judge(int a, int b)//判断单科分差
{
    int gg = 0;
    if ((a - b <= 5 )&&( a - b >= -5))
    {

    }
    else gg = 1;
    return gg;
}
int judgeadd(int a, int b)//判断总成绩分差是否符合条件
{
    int gg = 0;
    if ((a - b <= 10) &&( a - b >= -10))
    {

    }
    else gg = 1;
    return gg;
}
int   getresult(struct sd ss, struct sd bb)//判断两人是否符合标准
{
    int temp = 0;//ture
    if (judge(ss.math, bb.math) && judge(ss.ch, bb.ch) && judge(ss.eng, bb.eng) && judgeadd(ss.add, bb.add))
    {

    }
    else
        temp = 1;//false
    return temp;
}

int main()
{
    int count = 0;
    int n;
    scanf("%d", &n);
    sd stu[1000];
     for (int i = 0; i < n; i++)
     {
         scanf("%d %d %d", &stu[i].ch, &stu[i].math ,&stu[i].eng);//输入数据
         stu[i].add = (stu[i].ch + stu[i].math + stu[i].eng);
     }
     for (int i=0;i<n-1;i++)//遍历
     {


         for (int s=i+1;s<n;s++)//s不等于i
         {
             if (getresult(stu[i], stu[s]))
             {
                 count++;
             }
         }
     }
     printf("%d",count);//输出对数
    return 0;
}
我想要达到的结果

img

  • 写回答

3条回答 默认 最新

  • qzjhjxj 2022-11-09 12:15
    关注

    修改如下,供参考:

    #include <stdio.h>
    #include <stdlib.h>
    typedef struct sd//定义结构体
    {
        int ch;
        int math;
        int eng;
        int add;
    }sd;
    int judge(int a, int b)//判断单科分差
    {
        return abs(a - b) <= 5;
        //int gg = 0;
        //if ((a - b <= 5) && (a - b >= -5))
        //{
    
        //}
        //else gg = 1;
        //return gg;
    }
    int judgeadd(int a, int b)//判断总成绩分差是否符合条件
    {
        return abs(a - b) <= 10;
        //int gg = 0;
        //if ((a - b <= 10) && (a - b >= -10))
        //{
    
        //}
        //else gg = 1;
        //return gg;
    }
    int   getresult(struct sd ss, struct sd bb)//判断两人是否符合标准
    {
        //int temp = 0;//ture
        if (judge(ss.math, bb.math) && judge(ss.ch, bb.ch) && judge(ss.eng, bb.eng) && judgeadd(ss.add, bb.add))
            return 1;
        else
            return 0;
        //{
    
        //}
        //else
        //    temp = 1;//false
        //return temp;
    }
    
    int main()
    {
        int count = 0;
        int n;
        scanf("%d", &n);
        sd stu[1000];
        for (int i = 0; i < n; i++)
        {
            scanf("%d %d %d", &stu[i].ch, &stu[i].math, &stu[i].eng);//输入数据
            stu[i].add = (stu[i].ch + stu[i].math + stu[i].eng);
        }
        for (int i = 0; i < n - 1; i++)//遍历
        {
    
    
            for (int s = i + 1; s < n; s++)//s不等于i
            {
                if (getresult(stu[i], stu[s]))
                {
                    count++;
                }
            }
        }
        printf("%d", count);//输出对数
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月17日
  • 已采纳回答 11月9日
  • 创建了问题 11月9日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么