title: 基礎練習 字符串對比
categories:
- ACM
- 邏輯
tags: - 判斷條件的先後
date: 2020-03-14 18:12:05
首先1很好判斷,並且1和234對立(一組if else),再看2,需要全部對比完才能;而34只要一個不滿足就可以輸出,所以34的判斷在2的前面,根據題目邏輯,4要在三的前面。於是邏輯就清楚了。
問題
試題 基礎練習 字符串對比
資源限制
時間限制:1.0s 內存限制:512.0MB
問題描述
給定兩個僅由大寫字母或小寫字母組成的字符串(長度介於1到10之間),它們之間的關係是以下4中情況之一:
1:兩個字符串長度不等。比如 Beijing 和 Hebei
2:兩個字符串不僅長度相等,而且相應位置上的字符完全一致(區分大小寫),比如 Beijing 和 Beijing
3:兩個字符串長度相等,相應位置上的字符僅在不區分大小寫的前提下才能達到完全一致(也就是說,它並不滿足情況2)。比如 beijing 和 BEIjing
4:兩個字符串長度相等,但是即使是不區分大小寫也不能使這兩個字符串一致。比如 Beijing 和 Nanjing
編程判斷輸入的兩個字符串之間的關係屬於這四類中的哪一類,給出所屬的類的編號。
輸入格式
包括兩行,每行都是一個字符串
輸出格式
僅有一個數字,表明這兩個字符串的關係編號
樣例輸入
BEIjing
beiJing
樣例輸出
3
算法
#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
int main(){
//freopen("input.txt", "r", stdin);
char a[10],b[10];
cin>>a>>b;
if(strlen(a)!=strlen(b))
cout<<"1";
else{
for(int i=0;i<strlen(a);i++)
{
int t=a[i]-b[i];
if(!(t==32||t==-32||t==0))
{cout<<"4";return 0;
}
else if(t!=0)
{
cout<<"3";
return 0;
}
}
cout<<"2";
}
return 0;
}