这应该怎么写,用C语言

有一个文本编辑器,它仅支持:"Reverse","Shift" and "Query"三种操作。
1)Reverse操作包含两个参数A和B,格式为: R A B,它的功能是将字串中A到B之间的字符逆序。

2)Shift操作包含两个参数A和B,格式为: S A B,它的功能是将字串中A到B之间的字符用它的下一个字符替换。即:'a' 变为 'b','b' 变为 'c' ,... ,'y' 变为 'z', 'z' 变为 'a'。

3)Query操作包含一个参数A,格式为: Q A,它的功能是输出字串第A个位置的字符。

例如:对于字串"abcdefzh",

R 2 7 的结果是"azfedcbh",

S 2 3 的结果是"aagedcbh"

你的任务是模拟这个处理过程,并使用Query命令输出一个字符。

请定义函数Reverse,Shift和Query完成对应功能

输入:

第一行为整数T,表示有T组数据需要处理,对于每一组数组:

先输入两个整数N(0<N<=80000)和C(0<C<=3000),表示字串的长度以及命令的个数

再输入一个长度为N的字串(字串由小写字母组成)

接下来再输入C行,每一行为形如:'Q A' 或者 'R A B' 或者 'S A B'的命令 (0<A<=B<=N)

请从ex8.txt中读取测试数据。

输出:对于Q A命令,输出其结果。