acm题目(求c或c++解决)

图片说明

1个回答

#include <iostream>
#include <cstring>
using namespace std;
int main()
{
    int n;
    char len3[4][3] = {'o', 'n', 'e', 't', 'w', 'o', 's', 'i', 'x', 't', 'e', 'n'};
    char len4[3][4] = {'f', 'o', 'u', 'r', 'f', 'i', 'v', 'e', 'n', 'i', 'n', 'e'};
    char len5[3][5] = {'t', 'h', 'r', 'e', 'e', 's', 'e', 'v', 'e', 'n', 'e', 'i', 'g', 'h', 't'};
    int int3[4] = {1,2,6,10};
    int int4[3] = {4,5,9};
    int int5[3] = {3,7,8};
    char input[10];
    while(cin>>n)
    {
        while(n--)
        {
            cin>>input;
            int len = strlen(input);
            int result = 0;
            switch(len)
            {
                case 3:
                    {
                        for(int i=0;i<4;i++)
                        {
                            int tmp = 0;
                            for(int j=0;j<3;j++)
                            {
                                if(len3[i][j] == input[j])
                                {
                                    tmp ++;
                                }
                            }
                            if(tmp >= 2){
                                result = int3[i];
                                break;
                            }
                        }
                    };break;
                case 4:
                {
                    for(int i=0;i<3;i++)
                    {
                        int tmp = 0;
                        for(int j=0;j<4;j++)
                        {
                            if(len4[i][j] == input[j])
                            {
                                tmp ++;
                            }
                        }
                        if(tmp >= 3){
                            result = int4[i];
                            break;
                        }
                    }
                };break;
                case 5:
                    {
                        for(int i=0;i<3;i++)
                        {
                            int tmp = 0;
                            for(int j=0;j<5;j++)
                            {
                                if(len5[i][j] == input[j])
                                {
                                    tmp ++;
                                }
                            }
                            if(tmp >= 4){
                                result = int5[i];
                                break;
                            }
                        }
                    };break;
            }
            cout<<result<<endl;
        }
    }
    return 0;
} 
Runner__1
T_world 回复清风小陈: 采纳一下呗
2 年多之前 回复
sinat_37676560
chen_mg 能AC,谢谢大佬了
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐