| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 760 人关注过本帖
标题:[求助]加密程序中出了问题!!
只看楼主 加入收藏
satanwu
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-8-18
收藏
 问题点数:0 回复次数:7 
[求助]加密程序中出了问题!!

根据以下的题目,我编了一个程序,可是只运行到了给这个数组赋值后就停止了,下面的程序就没法下去了,不晓得是怎么回事,请高人指点一下.

问题描述
某个公司采用公用电话传递数据信息,数据是小于8位的整数.为了确保安全,在传递过程中需要加密.加密规则如下:
1:首先将数据倒序,然后将每位数字都加上5,再用和除以10的余数代替该数字,最后将第一位和最后一位数字交换.
2:要求通过程序实现数据加密的过程.


#include <stdio.h>
void main()
{
int a[8],i,j,k;
printf("请输入一个8位数:");
for(i=0;i<8;i++)

{
scanf("%d",&a[i]);
{for(i=0;i<8;i++)

for(j=7;j<8;j--)
{
a[j]=a[i]%10;
a[i]=a[i]/10;
}
}
}
for(i=0;i<8;i++)
{
a[i]=(a[i]+5)%10;
a[0]==k;
a[7]==a[0];
k==a[7];
}
printf("数组加密后为: ");
for(i=0;i<8;i++)
{
printf("%d",a[i]);
}
printf("\n");
}

搜索更多相关主题的帖子: 数字 数据 
2007-09-04 21:52
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用satanwu在2007-9-4 21:52:27的发言:

根据以下的题目,我编了一个程序,可是只运行到了给这个数组赋值后就停止了,下面的程序就没法下去了,不晓得是怎么回事,请高人指点一下.

问题描述
某个公司采用公用电话传递数据信息,数据是小于8位的整数.为了确保安全,在传递过程中需要加密.加密规则如下:
1:首先将数据倒序,然后将每位数字都加上5,再用和除以10的余数代替该数字,最后将第一位和最后一位数字交换.
2:要求通过程序实现数据加密的过程.


#include <stdio.h>
void main()
{
int a[8],i,j,k;
printf("请输入一个8位数:");
for(i=0;i<8;i++)

{
scanf("%d",&a[i]);
{for(i=0;i<8;i++)

for(j=7;j<8;j--)
{
a[j]=a[i]%10;
a[i]=a[i]/10;
}
}//这段是做什么用的.
}
for(i=0;i<8;i++)
{
a[i]=(a[i]+5)%10;
a[0]==k;
a[7]==a[0];
k==a[7];//为什么每次都做这一步.应该放到循环外面

}
printf("数组加密后为: ");
for(i=0;i<8;i++)
{
printf("%d",a[i]);
}
printf("\n");
}



倚天照海花无数,流水高山心自知。
2007-09-04 22:07
shuaiye
Rank: 1
等 级:新手上路
帖 子:445
专家分:0
注 册:2006-5-15
收藏
得分:0 
N 久没来了。

nuciewth 威望都那么高了。。。


由于工作,N久都没来了!
2007-09-04 23:34
xl1314gudan
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-9-5
收藏
得分:0 
第一个人说得很对 还有就是 为什么用==啊 难道你编译时没有错误?

能陪我分享喜悅 能陪我面對輩傷 就算幫吥上忙 也會靜靜啲陪著我 這個世界上有這樣啲人麽?
2007-09-05 02:24
xl1314gudan
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-9-5
收藏
得分:0 
还有 我在和你做同一个题目 你看要求没? 我的要求是必须用while循环来拆分 你用的是for循环!!!

能陪我分享喜悅 能陪我面對輩傷 就算幫吥上忙 也會靜靜啲陪著我 這個世界上有這樣啲人麽?
2007-09-05 02:28
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用xl1314gudan在2007-9-5 2:24:24的发言:
第一个人说得很对 还有就是 为什么用==啊 难道你编译时没有错误?

不好意思,我没有编译,这个错误很明显,呵呵.


倚天照海花无数,流水高山心自知。
2007-09-05 23:06
Autowalk
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-9-5
收藏
得分:0 
再用和除以10的余数代替该数字 LZ的这种加密方法是不能实现的,因为在还原的时候你无法根据余数和除数而得出被除数的,
我也遇到这样的问题如果可以得出被除数,那我可以无论多少大的文件都把它压缩在1个字节里

[此贴子已经被作者于2007-9-6 16:09:10编辑过]

2007-09-06 16:07
喜欢C编程
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-6-2
收藏
得分:0 
#include<stdio.h>
void main()
{
int a[8],i,j,k;
printf("请输入一个8位数:");
for(i=0;i<8;i++)

{
scanf("%d",&a[i]);
{for(i=0;i<8;i++)

for(j=7;j<8;j--)
{
a[j]=a[i]%10;
a[i]=a[i]/10;
}
}
}
for(i=0;i<8;i++)
a[i]=(a[i]+5)%10;
k=a[0];
a[0]=a[7];
a[7]=k;
printf("数组加密后为: ");
for(i=0;i<8;i++)
{
printf("%d",a[i]);
}
printf("\n");
}
我改了编译通过了怎么看不到结果啊?????
2007-09-06 17:37
快速回复:[求助]加密程序中出了问题!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026064 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved