n a^o7 !


n a^o7 !
Time Limit: 1000MS Memory limit: 65536K

题目描述

 

All brave and intelligent fighters, next you will step into a distinctive battleground which is full of sweet and happiness. If you want to win the battle, you must do warm-up according to my instructions, which can make you in the best state preparing to fight. Now please relax yourself and enjoy the good moment. Before you raise your sharp sword to the enemy who guards the battleground, please allow me to tell you a true and romantic story about a samurai like you. 
Samurai hh fell in love with girl ss, who is charming and demure. He realized the truth that he must spend his remaining life with ss, and resolved to pursue the hard-won affection. One day hh wrote a letter to ss, when she opens the letter with excitement her mind was in tangle. She found herself completely not to figure out the meaning about the letter, which said that "n 55!w ! pue n a^o7 ! n paau !". ss also immersed herself in guessing the meaning of that letter for a long time because of her adore to hh. Finally she called hh to ask the meaning of the letter. On the other side of the phone, hh was too nervous to say. Gradually he calmed down himself and told ss to reverse the letter and read it. Then on both ends of the phone comes the voice at the same time "i need u i love u and i miss u".
ss wants to tell each of you however you are Brave And Skilled, you shouldn't forget to express your loyal love and romantic feelings to your prince or princess.
Now the horn sounds for battle
do it by the following input and output. I think each of you will get an "Accepted" in this battle with pleasant mood.

 

输入

Input contains an integer T in the first line, and then T lines follow .Each line contains a message (only contain 'n5!wpuea^o7!' and 
' '(space)), the message's length is no more than 100.

输出

Output the case number and the message. (As shown in the sample output)

示例输入

2
n 55!w ! pue n a^o7 ! n paau !
n5!wpuea^o7

示例输出

Case 1: i need u i love u and i miss u
Case 2: loveandmisu

//注意冒号后面有一个空格!!!
//要对b数组清空
#include<bits/stdc++.h>
#include<string.h>
using namespace std;
int main()
{
    char a[110];
    char b[110];
    int n;
    int j;
    int k=0;
    cin>>n;
    getchar();
    while(n--)
    {
        k++;
        j=0;
        gets(a);
        memset(b,0,sizeof(b));
        int len=strlen(a);
        for(int i=len-1;i>=0;i--)
        {
            switch(a[i])
            {
                case '!':b[j++]='i';break;
                case '5':b[j++]='s';break;
                case 'n':b[j++]='u';break;
                case 'a':b[j++]='e';break;
                case 'p':b[j++]='d';break;
                case '7':b[j++]='l';break;
                case '^':b[j++]='v';break;
                case 'w':b[j++]='m';break;
                case 'u':b[j++]='n';break;
                case 'e':b[j++]='a';break;
                case 'o':b[j++]='o';break;
                case ' ':b[j++]=' ';break;
            }
        }
        //for(int i=0;i<len;i++)
        printf("Case %d: %s\n",k,b);
    }
    return 0;
}


<think> 我们正在分析公式:`=IFERROR(INDEX(需改造的科目!H:H, MATCH(O7, 需改造的科目!D:D, 0), 0), “不变”)`,该公式提示“引用了无效的名称”。 根据错误提示,问题在于公式中使用了Excel无法识别的名称。具体分析如下: 1. **工作表名称问题**: 公式中引用了工作表“需改造的科目”,这个名称可能包含空格或特殊字符,但我们在引用时没有使用单引号括起来。当工作表名称包含空格、标点符号或中文字符时,必须使用单引号将工作表名称括起来,否则Excel会将其视为无效引用。 2. **INDEX函数的参数问题**: INDEX函数有两种形式:数组形式和引用形式。这里使用的是数组形式,其语法为`INDEX(array, row_num, [column_num])`。注意: - 数组形式中,第三个参数是`column_num`(列号),但在这个公式中,我们引用的区域是单列(H:H),所以列号应该省略或者为1(因为H:H是第一列)。但是,公式中第三个参数写成了0,这是不允许的(行号和列号都不能为0)。此外,在数组形式中,如果指定了行号,列号可以省略(此时返回该行整个列,但因为是单列,所以不会有问题);但是指定0就会出错。 3. **其他可能问题**: - 工作表名称“需改造的科目”是否存在?是否拼写错误? - 公式中使用了中文引号“”和逗号,在Excel中必须使用英文引号和逗号。 因此,我们需要进行以下修正: 步骤1:**确保工作表名称被正确引用** 将工作表名称用单引号括起来,即:`'需改造的科目'!H:H` 和 `'需改造的科目'!D:D` 步骤2:**修正INDEX函数的参数** 由于我们在H列(单列)中查找,INDEX函数的第三个参数(列号)应该省略,或者为1(因为H列是区域的第一列)。另外,注意原始公式中第三个参数写成了0,这是错误的。所以应该去掉第三个参数0(或者改为1)。但是,观察公式,INDEX函数后面有两个参数:第一个是区域,第二个是MATCH函数返回的行号,然后还有一个0。实际上,INDEX函数的数组形式最多三个参数(第三个是列号),这里第三个参数0是不合法的(因为行号和列号都不能为0)。所以,我们只需要两个参数:区域和行号。 修正后的公式应该是: `=IFERROR(INDEX('需改造的科目'!H:H, MATCH(O7, '需改造的科目'!D:D, 0)), "不变")` 步骤3:**检查公式中的标点符号** 确保公式中的所有逗号和引号都是英文半角符号。原公式中使用了中文引号“不变”会导致错误。应改为英文双引号"不变"。 因此,最终修正的公式为: `=IFERROR(INDEX('需改造的科目'!H:H, MATCH(O7, '需改造的科目'!D:D, 0)), "不变")` 如果修正后仍然出现无效名称错误,请检查: - 是否存在名为“需改造的科目”的工作表(注意空格和字符的准确性) - 工作表名称前后是否有空格?如果有,也需要在引用中精确包含 另外,注意MATCH函数在需改造的科目!D列中查找O7单元格的值,如果找不到会返回#N/A错误,此时IFERROR会返回"不变"。 总结错误原因: 1. 工作表名称包含空格或中文,未用单引号括起。 2. INDEX函数使用了错误的第三个参数0(在数组形式中不允许为0)。 3. 可能使用了中文标点符号(引号)。 修正后的公式应避免上述问题。 如果按照上述修正后问题仍然存在,请检查工作簿中是否存在名为“需改造的科目”的工作表(注意名称的拼写和空格)。如果工作表名称确实存在,可以尝试重命名工作表为简单的英文名称(不带空格)再次测试。 </think> ### 公式错误原因及解决方案 #### 错误原因分析 您的公式 `=IFERROR(INDEX(需改造的科目!H:H,MATCH(O7,需改造的科目!D:D,0),0),“不变”)` 提示"引用了无效的名称",主要由以下原因导致: 1. **工作表名称引用错误** `需改造的科目` 这个工作表名称不符合Excel命名规范: - 包含空格或特殊字符时必须用**单引号**包裹 - 名称包含中文时需确保实际工作表名称完全一致(包括空格) - 名称长度超过31字符会被截断(当前名称"需改造的科目"占6字符) 2. **INDEX函数参数错误** INDEX函数在数组形式中只需要3个参数,但您传递了4个: ```excel INDEX(①数组, ②行号, ③列号) // 正确语法 INDEX(数组, 行号, 列号, 0) // 您多写了第四个参数0 ``` 3. **中文标点符号问题** 公式中的引号 `“”` 是中文全角符号,Excel只识别**英文半角引号** `""` #### 解决方案(分步修正) ```excel =IFERROR( INDEX('需改造的科目'!H:H, // 用单引号包裹含空格的工作表名 MATCH(O7, '需改造的科目'!D:D, 0) // 正确MATCH语法 ), // INDEX只需要三个参数,删除末尾的0 "不变" // 使用英文引号 ) ``` ##### 修正后公式: ```excel =IFERROR(INDEX('需改造的科目'!H:H, MATCH(O7, '需改造的科目'!D:D, 0)), "不变") ``` #### 验证步骤: 1. **检查工作表存在性** 在Excel底部工作表标签栏确认是否存在名为 `需改造的科目` 的工作表 2. **检查名称一致性** 右键点击工作表标签 → "重命名",检查是否有隐藏空格: - 正确:`需改造的科目` - 错误:`需改造的科目 `(末尾空格)或 `需改造的 科目`(中间多空格) 3. **使用公式追踪**(若仍报错) 在公式选项卡点击"追踪引用单元格",检查是否有断裂的箭头线 > 该公式功能说明:在"需改造的科目"表的D列查找O7值,返回同行的H列数据,若查找失败显示"不变"[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值