dd头子皮皮怪 发表于 2020-10-14 23:17:23

请大佬们帮帮菜鸡(c语言)

本帖最后由 dd头子皮皮怪 于 2020-10-14 23:52 编辑

题目如下:

已知任意三个字母,你的任务是判断他们是否相邻。所谓三个字母相邻指的是第一个字母与第二个字母相邻,第二个字母与第三个字母相邻,如“abc”,“bcd”,“XYZ”等。提示:可以利用字符相减操作判断两字母是否相邻。若两个字符之间之差如果是-1,则相邻。例如‘a’-‘b’= -1,则‘a’与‘b’相邻。
注意:如果三个字符中有非字母的输入,判断结果应为不相邻,例如对输入“123”,“12a”等即为不相邻。

输入与输出要求:
输入包括三个字符,以回车结束,占一行,这三个字符之间没有空格。当输入的三个字符相邻时,则应在屏幕上打印“Yes”;否则输出“No”。
程序运行效果:
Sample 1:
abc↙
Yes↙
Sample 2:
AbC↙
No↙

kogawananari 发表于 2020-10-14 23:30:27

本帖最后由 kogawananari 于 2020-10-14 23:33 编辑

const isNeighbor = s => s.charCodeAt(2)-s.charCodeAt(1)==1 && s.charCodeAt(1)-s.charCodeAt(0)==1
随便写了个 如果不限定语言{:10_289:}没把非字母屏蔽掉 输出没给你弄yes no 但是你应该看得懂{:10_289:}

冬雪雪冬 发表于 2020-10-14 23:43:16

用python写一个。
string = input()
if ord(string) - ord(string) == -1 and ord(string) - ord(string) == -1:
    print('Yes')
else:
    print('No')

昨非 发表于 2020-10-14 23:47:23

temp = input()
if (len(temp) !=3)or(temp.isalpha):
    print("NO")
else:
    str_list = list(temp)
    a1 =ord(str_list) - ord(str_list)
    a2 =ord(str_list) - ord(str_list)
    if a1==-1 and a2==-1:
      print("YES")
    else:
      print("NO")

python的,加了输入判断,限定输入为字母和长度

dd头子皮皮怪 发表于 2020-10-14 23:47:39

kogawananari 发表于 2020-10-14 23:30
随便写了个 如果不限定语言没把非字母屏蔽掉 输出没给你弄yes no 但是你应该看得懂{:10_289: ...

大佬nb,但我这c语言的新手真的看不懂{:10_266:}这是我们c语言的作业

kogawananari 发表于 2020-10-15 00:02:37

dd头子皮皮怪 发表于 2020-10-14 23:47
大佬nb,但我这c语言的新手真的看不懂这是我们c语言的作业

@昨非 {:10_289:}c语言大佬快来

风过无痕1989 发表于 2020-10-15 00:41:10

我只会C语言

#include<stdio.h>

int main()
{
      char ch1,ch2,ch3;
      printf("请输入三个字符:");
      scanf("%c%c%c",&ch1,&ch2,&ch3);
      if ((ch1 - ch2) == -1 && (ch2 - ch3) == -1)
      {
            printf("YES\n");
      }
      else
      {
            printf("NO\n");
      }
}
页: [1]
查看完整版本: 请大佬们帮帮菜鸡(c语言)