| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 489 人关注过本帖
标题:这个要怎么实现啊?
只看楼主 加入收藏
littlevic
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-6-27
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:2 
这个要怎么实现啊?
我国有34个省级行政区,其中省23个(辽宁,吉林,黑龙江,河北,山西,陕西,山东,安徽,江苏,浙江,河南,湖北,湖南,江西,台湾,福建,云南,海南,四川,贵州,广东,甘肃,青海),自治区5个(西藏,新疆,广西,内蒙古,宁夏),直辖市4个(北京,天津,上海,重庆)。特别行政区2个(香港,澳门)。写一个程序实现用户输入一个查询字符串后,返回满足条件的行政区列表。搜索规则如下:
    i) 返回满足条件的行政区要求至少包括一个查询字符串的每一个字符一次;
    ii) 行政区和查询字符串是大小写不敏感;
   iii) 查询字符串的字符序列的顺序并不重要。
例如,如果用户输入“ih”或者“hi”,则搜索结果如下:“Hubei”, “Heilongjiang”, “Hebei”, “Shanxi”, “Shaanxi”, “Anhui”, “Zhejiang”, “Hainan”, “Guizhou”, “Qinghai”, “Shanghai”, “Chongqing”。
搜索更多相关主题的帖子: 内蒙古 黑龙江 直辖市 行政区 字符串 
2011-07-05 16:39
lovejj23
Rank: 2
等 级:论坛游民
帖 子:20
专家分:41
注 册:2011-4-17
收藏
得分:10 
问个问题如果我输入ihj或者hij什么的是不是那些没j的就不在搜索结果下出现呢
2011-07-05 18:10
tsyking
Rank: 2
等 级:论坛游民
帖 子:23
专家分:50
注 册:2007-6-12
收藏
得分:10 
程序代码:
#include<iostream>
#include <vector>
using namespace std;

// 代码比较重复,目前只支持二个字符查询,但三个条件基本上还是能满足!

int main(){

   
    char a[]="Hubei";
    char b[]="Heilongjiang";
    char c[]="Hebei";
    char d[]="Shanxi";
    char e[]="Shaanxi";
    int num = 0;   //标记是否含有c1[0]
   
    char c1[2];

    while (1) {
        cout<<"输入你要查询的词:";
        cin>>c1;
       
        for( int i=0;i<sizeof(a);i++){
            if (a[i]==c1[0]||a[i]-c1[0]==-32||a[i]-c1[0]==32) { //判断第一个字符,过滤大小写
               
                num = 1;
               
            }
            if (a[i]==c1[1]&&num==1||a[i]-c1[0]==-32||a[i]-c1[0]==32) { //判断第二个字符,过滤大小写
                cout<<a<<endl;
                num=0;
                break;
            }
           
       
        }
   
    for( i=0;i<sizeof(b);i++){
        if (b[i]==c1[0]||b[i]-c1[0]==-32||b[i]-c1[0]==32) {
           
            num = 1;
           
        }
        if (b[i]==c1[1]&&num==1||b[i]-c1[0]==-32||b[i]-c1[0]==32) {
            cout<<b<<endl;
            num=0;
            break;
           
    }}
    for( i=0;i<sizeof(c);i++){
        if (c[i]==c1[0]||c[i]-c1[0]==-32||c[i]-c1[0]==32) {
           
            num = 1;
           
        }
        if (c[i]==c1[1]&&num==1||c[i]-c1[0]==-32||c[i]-c1[0]==32) {
            cout<<c<<endl;
            break;
    }}
    for( i=0;i<sizeof(d);i++){
        if (d[i]==c1[0]||d[i]-c1[0]==-32||d[i]-c1[0]==32) {
           
            num = 1;
           
        }
        if (d[i]==c1[1]&&num==1||d[i]-c1[0]==-32||d[i]-c1[0]==32) {
            cout<<d<<endl;
            num=0;
            break;
    }}
    for( i=0;i<sizeof(d);i++){
        if (d[i]==c1[0]||d[i]-c1[0]==-32||d[i]-c1[0]==32) {
           
            num = 1;
           
        }
        if (d[i]==c1[1]&&num==1||d[i]-c1[0]==-32||d[i]-c1[0]==32) {
            cout<<d<<endl;
            num=0;
            break;
    }}
    for(i=0;i<sizeof(e);i++){
        if (e[i]==c1[0]||e[i]-c1[0]==-32||e[i]-c1[0]==32) {
           
            num = 1;
           
        }
        if (e[i]==c1[1]&&num==1||e[i]-c1[0]==-32||e[i]-c1[0]==32) {
            cout<<e<<endl;
            num=0;
            break;
    }}
    


    }   
       
}


  www . vckf  .net   专业的VC开发网站
2011-07-10 13:20
快速回复:这个要怎么实现啊?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019745 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved