本题耗时(4h42min+) ---- 这道题告诉我们定义变量一定要初始化 尤其是数组
两个地方卡了好久
1. 每个人可以和多个人比较
2. 数组的初始化 初始化 初始化 ~!!!!!!!!!!
经过和 wjx兄弟的讨论优化 代码如下:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int N = 0; // 同学数
int i = 0;
int j = 0;
int k = 0;
int flag = 0;
int a[1001][5] = {0}; // 将成绩综合 放到 第 4 列
cin >> N;
for (i=0; i<N; i++) //输入
{
for (j=0; j<3; j++)
{
cin >> a[i][j];
a[i][4] += a[i][j];
}
}
int cnt = 0;
for (i=0; i<N; i++) //判断
{
for (k=i+1; k<N; k++)
{
flag = 0;
for (j=0; j<3; j++)
{
if (abs(a[i][j]-a[k][j]) > 5)
{
break;
}
flag++;
}
if (flag==3 && abs(a[i][4]-a[k][4])<=10)
{
cnt++;
}
}
}
cout << cnt;
return 0;
}
本文介绍了一段C++代码,强调了数组初始化的重要性,特别是在处理比较算法时。代码示例中,程序读取学生多科目成绩并进行比较,遇到的主要问题包括数组未初始化和多对多比较的逻辑。通过优化,实现了有效比较成绩且误差小于10分的同学数量的计数功能。
324

被折叠的 条评论
为什么被折叠?



