#include<bits/stdc++.h>
using namespace std;
string word[] = { "one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen","twenty","a","both","another","first","second","third" };
int num1[] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,1,2,1,1,2,3 };//利用了两个数组存储了会出现的字母和相对应的数字 这样在比较单词出现的时候直接根据 出现的位置得到对应的数字
int num2[100];
string WORD;
int n;
int main() {
for (int i = 0; i < 6; i++) {
cin >> WORD;
for (int j = 0; j < 26; j++) {//比较 如果相等把数字存入到num2数组
if (word[j] == WORD) {
num2[++n] = num1[j];
num2[n] *= num2[n];
num2[n] %= 100;
}
}
}
sort(num2 + 1, num2 + n + 1);//排序
if (n == 0) {//如果n=0那就是没有符合的答案
cout << '0' << endl;
system("pause");
return 0;
}
cout << num2[1];//先输出第一个 第一个不需要补0
for (int i = 2; i <= n; i++) {
if (num2[i] < 10) {//各位数要补0
cout << '0';
}
cout << num2[i];
}
cout << endl;
system("pause");
return 0;
}
这道题的方法是想先看看别人的方法才开始做的