c - C++:试图比较两个玩家的领先分数
问题描述
下面的代码在第一行输入 N,告诉它轮数。以下输入行是两列数据,其中包含每个球员在每场比赛中的得分。代码比较每轮累积频率的领先优势,然后宣布在任何一轮中领先最高的玩家获胜。
问题是代码喷出错误的输出。
#include <stdio.h>
using namespace std;
int main() {
int N;
scanf("%d", &N);
int P1=0,P2=0,Lead1=0,Lead2=0;
int a,b;
for(int i=1; i<=N;i++){
scanf("%d, %d", &a, &b);
P1+=a; P2+=b;
if(P1-P2>Lead1){
Lead1=P1-P2;
}
if(P2-P1>Lead2){
Lead2=P2-P1;
}
}
if(Lead1>Lead2){
printf("%d, %d", 1, Lead1);
}
else{
printf("%d, %d", 2, Lead2);
}
return 0;
}
解决方案
我想知道这是不是问题
scanf("%d, %d", &a, &b);
尝试删除第一个逗号
scanf("%d %d", &a, &b);
您的输入逗号是否分隔?如果不是,那么您的 scanf 格式字符串中不应该有逗号。
推荐阅读
- php - 如何在php中多维数组的其他键值之后首先回显相同的键值
- ios - Xcode 文件权限问题
- linux - 如何通过删除某些字符之间的内容来批量重命名文件名 Linux
- android - 如何解决“:app@releaseUnitTest/compileClasspath”的依赖关系
- swift - SwiftUI 上带有 TextField 的可删除表
- ios - 如何在 Flutter 中修复此错误“Swift Language Version”
- sql - Oracle 数据库 12c:ORACLE JSON 查询搜索
- apache-kafka - kafka-connect - s3-connector - JVM堆 - 估计堆大小计算
- c# - C# 泛型错误 - 类型字符串必须不可为空
- firebase - Firebase 规则 - 嵌套 ifs