1 c++ int signed program-entry-point
#include <bits/stdc++.h>
using namespace std;
#define int long long
typedef pair<int,int> pint;
typedef vector<int> vint;
typedef vector<pint> vpint;
#define rep(i,n) for(int i = 0; i < (n); i++)
int main()
{
vint A(3), B(3);
rep(i, 3) cin>> A[i];
rep(i, 3) cin >> B[i];
int pa = 0, pb = 0;
rep(i, 3) {
if(A[i] > B[i]) pa++;
else if(A[i] < B[i]) pb++;
}
cout << pa << " " << pb << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
使用时int main(),编译器显示错误消息“main must return int”,但当我用 替换时signed main(),没有错误。什么原因?
#define int long long
Run Code Online (Sandbox Code Playgroud)
你到底为什么要这么做???
typedef pair<int,int>pint;
Run Code Online (Sandbox Code Playgroud)
不要那样做。类型pair<int, int>; 不要偷懒。另外,您使代码变得复杂只是为了定义pint(任何理性的人都会假设“指向 int 的指针”)只是为了不使用它。
typedef vector<int>vint;
typedef vector<pint>vpint;
Run Code Online (Sandbox Code Playgroud)
同上。不要那样做。
#define rep(i,n) for(int i=0;i<(n);i++)
Run Code Online (Sandbox Code Playgroud)
不,不,请不要这样做。
int main()
Run Code Online (Sandbox Code Playgroud)
你定义int为别的东西。此时你已经破坏了C。
vint A(3),B(3);
Run Code Online (Sandbox Code Playgroud)
请花点时间键入vector<int>而不是vint,并且请在自己的行上初始化每个变量。
rep(i,3)cin>>A[i];
Run Code Online (Sandbox Code Playgroud)
这对你来说似乎很清楚吗?我什至不知道我是否想知道它的作用。不要使用宏。请。
int pa=0,pb=0;
Run Code Online (Sandbox Code Playgroud)
另外,除了将每个初始化放在自己的行上并回想一下您定义int为 之外long long,请保持一致:A是一个变量并且您用大写字母命名它,但在这里您没有使用大写字母。尝试选择您想要的任何规则,但要保持一致。就像,“所有类都以大写字母开头,所有变量都以小写字母开头”。
请正确缩进。并且放一些空格,他们不会按字符向你收费。如果可以的话,请始终戴上牙套。而不是这个:
rep(i,3) {
if(A[i]>B[i])pa++;
else if(A[i]<B[i])pb++;
}
Run Code Online (Sandbox Code Playgroud)
只要这样:
for (int i= 0; i < 3; ++i) {
if (A[i] > B[i]) {
pa++;
} else if (A[i] < B[i]) {
pb++;
}
}
Run Code Online (Sandbox Code Playgroud)
另外,asA和Bhassize()成员:
for (size_t i= 0; i < min(A.size(), B.size()); ++i) {
if (A[i] > B[i]) {
pa++;
} else if (A[i] < B[i]) {
pb++;
}
}
Run Code Online (Sandbox Code Playgroud)
这样,如果您将A(3)和更改B(3)为A(5)和B(5),则无需3在 中搜索for。另外,最好有:
static const auto n= 3;
vector<int> A(n);
vector<int> B(n);
Run Code Online (Sandbox Code Playgroud)
假设它们总是大小相同。
空格,请:
cout << pa << " " << pb << endl;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3692 次 |
| 最近记录: |