codeforces 112A-C语言解题报告
生活随笔
收集整理的這篇文章主要介紹了
codeforces 112A-C语言解题报告
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
112A題目網址
題目解析
1.輸入兩行字符串,不區分大小寫地使用字典序去比較大小
A<B -1
A>B 1
A=B 0
舉例:
輸入
abcdefg
AbCdEfF
輸出
1
2.字典序:在遇到第一個不同的字符時,比較的大小,就是字符串的大小
列舉法:
1.列出所有情況
1)a[i]是大寫,b[i]是小寫
a[i]轉換為小寫(a[i]=a[i]+32)
再比較
a[i]>b[i] break
a[i]<b[i] break
a[i]=b[i]
2)a[i]是小寫,b[i]是大寫
3)a[i]是小寫,b[i]是小寫
4)a[i]是大寫,b[i]是大寫
列舉法代碼
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> int main() {char a[100]={'\0'};char b[100]={'\0'};int i,flag=0;scanf("%s",a);scanf("%s",b);for(i=0;i<strlen(a);i++){if(a[i]>='A'&&a[i]<='Z'&&b[i]>='a'&&b[i]<='z'){a[i]=a[i]+32;if(a[i]<b[i]){flag=-1;break;}else if(a[i]>b[i]){flag=1;break;}else if(a[i]==b[i]){flag=0;}}else if(b[i]>='A'&&b[i]<='Z'&&a[i]>='a'&&a[i]<='z'){b[i]=b[i]+32;if(a[i]<b[i]){flag=-1;break;}else if(a[i]>b[i]){flag=1;break;}else if(a[i]==b[i]){flag=0;}}else if(a[i]>='A'&&a[i]<='Z'&&b[i]>='A'&&b[i]<='Z'){if(a[i]<b[i]){flag=-1;break;}else if(a[i]>b[i]){flag=1;break;}else if(a[i]==b[i]){flag=0;}}else if(a[i]>='a'&&a[i]<='z'&&b[i]>='a'&&b[i]<='z'){if(a[i]<b[i]){flag=-1;break;}else if(a[i]>b[i]){flag=1;break;}else if(a[i]==b[i]){flag=0;}}}printf("%d",flag);system("pause");return 0; }總結
以上是生活随笔為你收集整理的codeforces 112A-C语言解题报告的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java提高篇 —— Java三大特性之
- 下一篇: codeforces 546A-C语言解