ckr20100210ag 2021-10-31 11:47 采纳率: 100%
浏览 29
已结题

关于#开发语言#的题目,请各位专家解答!

旗鼓相当的对手
题目描述
现有 n名同学参加了期末考试,并且已知每名同学的九门科目成绩(0到150的一个整数)。如果有两位同学的每科成绩的分差都不超过 5分,那么这对学生就是“旗鼓相当的对手”。现在想知道这些同学中,有几对“旗鼓相当的对手”?。一个同学可能同时与多人成为旗鼓相当的对手。

输入格式
第一行输入同学人数n。

接下来的n行,每行九个整数,空格隔开,表示了其中一名同学的九门科目成绩。

输出格式
一个整数,表示“旗鼓相当的对手”的对数。

样例数据
样例输入#1
3
90 91 92 80 99 78 88 90 76
85 95 90 81 98 78 88 92 72
82 99 88 82 97 79 85 90 70
样例输出#1
2
数据范围
对于100% 的数据,0<n≤100,所给科目成绩均为0到150间的整数。

说明/提示
如果要求两个数a,b的差值(非负值,即较大数减去较小数),可以用abs(a-b)来表示(在程序开头#include )。

  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2021-10-31 12:11
    关注

    定义个二维数组,记录输入的所有学生成绩,然后用双重循环逐个学生比较每门课成绩,如果全部相差5分以内则统计数加1

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    ckr20100210ag 2021-10-31 12:24

    ##这样拿错了?
    #include
    #include

    include

    include <stdio.h>

    include <math.h>

    using namespace std;

    int n, a[1010][5], sum[1010];
    int cnt;

    int main () {
    scanf ("%d", &n);
    for (int i = 1; i <= n; i++) {
    cin >> a[i][1] >> a[i][2] >> a[i][3]>>a[i][4]>>a[i][5]>>a[i][6]>>a[i][7]>>a[i][8]>>a[i][9];
    sum[i] = a[i][1] + a[i][2] + a[i][3]+a[i][4]+a[i][5]+a[i][6]+a[i][7]+a[i][8]+a[i][9];
    }
    for (int i = 1; i <= n; i++)
    for (int j = i + 1; j <= n; j++)
    if (abs (a[i][1] - a[j][1]) <= 5 &&
    abs (a[i][2] - a[j][2]) <= 5 &&
    abs (a[i][3] - a[j][3]) <= 5 &&
    abs (a[i][4] - a[j][4]) <= 5 &&
    abs (a[i][5] - a[j][5]) <= 5 &&
    abs (a[i][6] - a[j][6]) <= 5 &&
    abs (a[i][7] - a[j][7]) <= 5 &&
    abs (a[i][8] - a[j][8]) <= 5 &&
    abs (a[i][9] - a[j][9]) <= 5 &&
    abs (sum[i] - sum[j]) <= 10)
    cnt++;
    cout << cnt << endl;
    return 0;
    }

    回复
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 11月7日
  • 已采纳回答 10月31日
  • 创建了问题 10月31日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部