C语言简单加密问题~

描述:假设将26个小写字母首尾链接起来,做成一个圈(a连接在z的后面),请编制程序将给定字符串的每一个字符沿顺时针方向移动10个字符组成一个新的字符串,并输出该字符串。输... 描述: 假设将26个小写字母首尾链接起来,做成一个圈(a连接在z的后面),请编制程序将给定字符串的每一个字符沿顺时针方向移动10个字符组成一个新的字符串,并输出该字符串。
输入: 给定的长度小于80的字符串.
输出: 每一个字符沿顺时针方向移动10个字符组成一个新的字符串
输入样例: i like c programming language!
输出样例: s vsuo m zbyqbkwwsxq vkxqekqo!
以上要求,大家帮忙下
展开
 我来答
sxsy556
2011-10-26 · TA获得超过1284个赞
知道小有建树答主
回答量:1037
采纳率:0%
帮助的人:655万
展开全部
程序不写了。关键的就是解决两个问题
1、对于每个字母,变成+10后的字母
2、如果结果超过z,那就要想办法往回走
至于空格吗,看你没有变
那你就可以动手写了。
55aa55aa
2011-10-26
知道答主
回答量:30
采纳率:0%
帮助的人:18.9万
展开全部
#include "stdio.h"

char *key="abcdefghijklmnopqrstuvwxyz";
char* encrypt(const char * str)
{
if(str == null)
return null;
char *strout = malloc(strlen(str)+1);
memset(strout,0,str(strlen)+1);
char *p=str;
char *q =strout;

while(*p!='\0')
{
if('a'<=*p && *p<='z')
{
int pos = ((*p+10)-'a')%26;
*q = key[pos];
}
else
{
*q = *p;
}
p++;
q++;
}
*q='\0';
return strout;
}

int main(void)
{
char strin =" i like c programming language! "
char * strout = encrypt(strin);
printf(strin);
printf("\n");
printf(strout);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e42340e
2011-10-27
知道答主
回答量:45
采纳率:0%
帮助的人:24.5万
展开全部
呵呵,西农的吧,同学
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
furious_tauren
推荐于2016-01-24 · TA获得超过4056个赞
知道大有可为答主
回答量:1913
采纳率:100%
帮助的人:770万
展开全部
#include <stdio.h>

int main(void)
{
char a[80];
int i = 0;

gets(a);

while (a[i])
{
if (a[i] >= 'a' && a[i] <= 'z')
{
a[i] += 10;
if (a[i] > 'z')
a[i] = a[i] - 'z' - 1 + 'a';
}
i++;
}

puts(a);
return 0;
}
更多追问追答
追问
#include 
#include

int Main()
{
int a[80];
int b[80];
int i;
gets(a);
while(a[i]!=' ')
{
b=a[i];
puts(b);
++i;
}
return 0;
}
问你下,这个哪里错了呢?
追答
1, Main ----->  main

2, 这个i没赋初值。

3, 这个哪里进行加密了?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hp_feng
2011-10-26 · 超过10用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:28.7万
展开全部
C语言可以做到加密吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式