嚏入在一行中给出一个嚖超过80个字符、并以回车结束的字符嚜。
试设计一嚚法:将所有的嚛写字母以(A->Z, B->Y, C->X,.........X->C, Y->B, Z-A)的规则进行替换
#include <stdio.h>
#define MAXSTRLEN 255
typedef unsigned char SString[MAXSTRLEN + 1];
int StrAssign(SString S, char *str)
{
int i;
for (i = 0; str[i] != '\0'; i++)
{
S[i + 1] = str[i];
}
S[0] = i;
return 1;
}
void fun(SString S)
{
for(int i = 1;i<=S[0];i++){
if(S[i]>='A'&&S[i]<='Z')
{if(S[i]<=('Z'-'A'+1)/2)
S[i] += ('Z'-S[i]);
else
S[i] = ('A'+('Z'-S[i]));
}
else{
}
}
}
void PrintStr(SString S)
{
int i;
for (i = 1; i <= S[0]; i++)
printf("%c", S[i]);
}
int main() {
char str[100];
SString S;
gets(str);
StrAssign(S, str);
fun(S);
PrintStr(S);
return 0;
}
该程序定义了一个方法,将输入的字符串中的所有大写字母按照A->Z,B->Y,C->X...的规则进行替换。程序包括了字符串赋值、处理和打印功能,主要涉及字符串操作和条件判断。
5万+

被折叠的 条评论
为什么被折叠?



