基礎練習-字符串對比


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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章