请写出此程序解题步骤。和解题思路

#include"stdio.h"#defineN2structpp{chartext[10];intconstant;}voidencrypt(structpp*x){... #include "stdio.h"
#define N 2
struct pp
{char text[10];int constant;}
void encrypt (struct pp *x)
{int i;
for(i=0;i<strlen(x->text);i++)
x->text[i]=x->text[i]+x->constant;}
main()
{ struct pp source[N]={{"amknsrcp",2},{"oqnbdctqd",1}};
int i=0;
while(i<N)
{encrypt(&source[i]);
i++;}
for(i=0;i<N;i++)
printf("%s\n",source[i].text;}
就是帮忙写出每个解题步 。运行结果不重要,主要是解题的步骤,越详细越好。
展开
 我来答
cleverwzh
2011-05-04 · 超过23用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:70.5万
展开全部
//似乎 是一个 加密解密的问题哦
#include "stdio.h"
#include<string.h> //因为你下文 应该用到 strlen()函数 所以 要包含 string .h头文件
#define N 2
struct pp //声明一个结构
{
char text[10]; //一个字符串
int constant; //一个 int 类型
};
void encrypt (struct pp *x)
{
int i;
int temp=strlen(x->text);
for(i=0;i<temp;i++) //循环 i<结构中字符串的长度
{
x->text[i]=x->text[i]+x->constant; //结构pp中 第i个字符=第i个字符的ASCII码+constant后
// 的值转换成char类型 在赋值给第i个字符
}
}
main()
{
struct pp source[N]={{"amknsrcp",2},{"oqnbdctqd",1}}; //一个 结构数组 数组中有两个元素
// 分别初始化为{"amknsrcp",2},{"oqnbdctqd",1}
int i=0;
while(i<N) //循环这个 结构数组
{
encrypt(&source[i]);
i++;
}
for(i=0;i<N;i++) //循环这个 结构数组
{
printf("%s\n",source[i].text); //打印修改后的字符串
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-05-04
展开全部
从主函数开始解读
定义pp类型的source[n]数组并赋初值,定义int型i,赋初值0,
做while循环,接着调用encrypt函数,通过地址将source的地址传递过去,所以在形参中用指针,在实参中用地址,for循环,如果i<x的长度,进行运算,x->text[0]=x->text[0]+x->constant
x->text[1]=x->text[1]+x->constant
调用结束回到主函数,输出",source[0].text和source[1].text的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
庚午子李
2011-05-04 · TA获得超过369个赞
知道小有建树答主
回答量:156
采纳率:0%
帮助的人:122万
展开全部
就是用ascII码,将字符串中每一个字母都向后移动constant位,得到新的字符串,单步调试可以得到结果,帮助你理解,正确的程序是

#include "stdio.h"
#include"string.h"
#define N 2
struct pp
{char text[10];int constant;};
void encrypt(struct pp *x)
{int i;
for(i=0;i<(strlen(x->text));i++)
x->text[i]=x->text[i]+x->constant;}
main()
{ struct pp source[N]={{"amknsrcp",2},{"oqnbdctqd",1}};
int i=0;
while(i<N)
{encrypt(&source[i]);
i++;}
for(i=0;i<N;i++)
printf("%s\n",source[i].text);}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mudheaven
2011-05-04 · TA获得超过282个赞
知道小有建树答主
回答量:216
采纳率:0%
帮助的人:128万
展开全部
encrypt是加(?解)密函数,按给出的数字进行字母错位加密。

错位个数就是pp结构里的constant。比如第一个amknsrcp,2
就是错位2位,a+2=c,m+2=0;........
转换出来就是computer
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
老牛
2011-05-04 · 超过11用户采纳过TA的回答
知道答主
回答量:77
采纳率:0%
帮助的人:49.5万
展开全部
结构体pp,包含数组text,整数constant
定义无返回值函数encrypt() 参数是结构体pp类型指针x
函数里:定义整数i
循环i小于字符数组text的长度,分别为数组text里每个元素赋值,使他等于他本身加上constant

main()里是方法函数的执行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式