我想在我的SC中比较两个单个字符串变量,如果它们不同,我想在我的int数据中添加+1"打架",让我们说 X [ 1] = A,Y [1] = B,为战斗添加+1 。
int N;
char X;
char Y;
int fights = 0;
1 <= N <= 100000;
for (int i = 0; i < N; i++){
cin >> X[i];
cin >> Y[i];
if (Y[i] != X[i]){
fights += 1;
}
}
cout << fights;
return 0;
}
然而,当我输入不同的字母并且没有为 战斗 添加+1时,程序似乎没有检测到任何差异。
答案 0 :(得分:0)
#include<iostream>
#include<string.h>
using namespace std;
int main(){
char X[10];
char Y[10];
int n;
int fights = 0;
cin >> X;
cin >> Y;
if(strlen(X) > strlen(Y))
n = strlen(X);
else
n = strlen(Y);
for (int i = 0; i < n; i++){
if(X[i]!=Y[i]) {
fights +=1;
}
else
;
}
cout << fights;
return 0;
}
这将正确进行比较!
答案 1 :(得分:-2)
将X,Y更改为数组。
工作代码:
int N;
char X[100001];
char Y[100001];
int fights = 0;
1 <= N <= 100000;
for (int i = 0; i < N; i++){
cin >> X[i];
cin >> Y[i];
if (Y[i] != X[i]){
fights += 1;
}
}
cout << fights;
return 0;
}
答案 2 :(得分:-2)
您不是将变量X和Y声明为数组,而是将其用作会产生错误的变量!你首先必须指定它才能使用它!
#include<iostream>
#include<cstring>
using namespace std;
int main(){
int N;
char X[10]; //specify any size according to ur need
char Y[10]; // but size specification of array is compulsary
int fights = 0;
// 1 <= N <= 100000; <-- i dont think this is required
// just use a no. for conditional expression in for
// here there is no need for comparing it with other variable
for (int i = 0; i < 10; i++){
cin >> X;
cin >> Y;
if (strcmp(X,Y)==0){
fights += 1;
}
}
cout << fights;
return 0;
}
这里你可以在两个变量中输入一个10个字符的输入(你可以根据你的需要改变它)如果它们都具有完全相同的字符,它将不会添加任何其他明智的1将被添加!