上海故事包装盒:C程序设计

来源:百度文库 编辑:高校问答 时间:2024/05/02 02:41:19
编写函数char *fun(char *str),对英文字符串str进行加密处理,加密规则是:A->C,B->D,……,X->Z,Y->A,Z->B,同理,小写字母也按上面规则,a->c,b->d,……,x->z,y->a,z->b,其余字符保持不变.函数返回字符串str的指针.
例如,如输入: I went to Zoo yesterday!
输出: K ygpv vq Bqq aguvgtfca! */

char *fun(char *str)
{
}
main()
{char s[80];
gets(s);
puts(fun(s));

#include<stdio.h>

char *fun(char *str)
{
int i=0;
while (*str!='\0')

{
if ((*str>=65)&&(*str<=90)||(*str>=97)&&(*str<=122))
{
*str+=2;
if ((*str>90)&&(*str<93)||(*str>122))
*str=*str-26;
}
str++;i++;
}
return (str-i);
}
char *fun(char *str);
void main()
{
char s[80];

gets(s);

puts(fun(s));
}

其实问题不难,关键是楼主调用的函数要返回指针的,这开始让我愣了一下

关键就是得到每一个字符然后给字符码做加二运算,然后输出

对str分析,A的asc是 65,a的是97,A加2就是C,同理依次类推,当str是Y时就加8即为a拉。呵呵