1 条题解
-
0
解题思路
- 字典构建:
- 持续读取输入的单词,直到遇到
"XXXXXX"
为止。 - 把读取到的单词存入
dic
数组,同时对单词的字母进行排序,将排序后的结果存于sortdic
数组。 - 使用
cnt
记录字典中单词的数量。
- 持续读取输入的单词,直到遇到
- 查询处理:
- 持续读取查询单词,直到遇到
"XXXXXX"
为止。 - 对查询单词的字母进行排序。
- 遍历
sortdic
数组,若排序后的查询单词和sortdic
中的某个元素相同,就把对应的原始单词存入res
数组。
- 持续读取查询单词,直到遇到
- 结果输出:
- 若
res
数组为空,输出"NOT A VALID WORD"
。 - 若
res
数组不为空,对res
数组进行排序并逐个输出其中的单词。 - 每个查询结果输出后,输出
"******"
作为分隔符。
- 若
- 程序暂停:
- 最后使用
system("pause");
暂停程序,这通常用于在 Windows 系统的控制台中保持窗口打开,便于查看输出结果。
- 最后使用
#include<iostream> #include<string> #include<algorithm> using namespace std; string dic[100], sortdic[100]; int main(){ string s; int cnt = 0; while(cin>>s&&s!="XXXXXX"){ dic[cnt] = s; sort(s.begin(),s.end()); sortdic[cnt] = s; cnt++; } while(cin>>s&&s!="XXXXXX"){ string res[100]; int valid = 0; sort(s.begin(),s.end()); for(int i = 0; i < cnt; i++) if(s==sortdic[i]){ res[valid++] = dic[i]; } if(valid==0){ cout << "NOT A VALID WORD" << endl; } else{ sort(res,res+valid); for(int i = 0; i< valid; i++) cout << res[i] << endl; } cout << "******" << endl; } system("pause"); }
- 字典构建:
- 1
信息
- ID
- 319
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者