| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2292 人关注过本帖
标题:输入4个数,按照程序输入输出,无编译错误,逻辑问题出错,要是能帮忙指出程 ...
取消只看楼主 加入收藏
加冕
Rank: 2
等 级:论坛游民
帖 子:31
专家分:15
注 册:2018-11-24
结帖率:62.5%
收藏
已结贴  问题点数:20 回复次数:1 
输入4个数,按照程序输入输出,无编译错误,逻辑问题出错,要是能帮忙指出程序需要改进的地方就更好了
#include<stdio.h>
/*要求:定义函数encrypt加密,定义函数decrypt解密

输入多组四位数,将其加密或解密后输出。如果输入正数代表加密,负数代表解密

加密方法是将该数每一位上的数字加8,然后除以10取余,作为该位上的新数字,最后将千位和百位上的数字互换,十位和个位上的数字互换,组成加密后的新四位数。

解密方法,按照上述加密过程逆向解密将其输出*/
//举例 输入
//      1345
//      -1932
//输出    1932
//       1345
extern X;
 void encrypt(int X)
{
 int i,j,k,m;
   X=X+8888;
   i=X%10;  X=X/10;
   j=X%10; X=X/10;
   k=X%10; X=X/10;
   m=X;
   X=k*1000+m*100+i*10+j;
  
}
  void decrypt(int X)
{
 int i,j,k,m;
 i=X%10;  X=X/10;
   j=X%10; X=X/10;
   k=X%10; X=X/10;
   m=X;
   X=10000+m*1000+k*100+j*10+i;

   X=X-8888;
}

main()
{
   int X;
 
 while(scanf("%d",&X)!=EOF)
 {
    if(X<0)
 {decrypt(X);
 printf("Decrypt is %d",X);
 }  
 else
 {encrypt(X);
 printf("Encrypted is %d",X);}
 }
}
搜索更多相关主题的帖子: 输入 输出 加密 解密 int 
2018-12-06 19:56
加冕
Rank: 2
等 级:论坛游民
帖 子:31
专家分:15
注 册:2018-11-24
收藏
得分:0 
回复 2楼 龙侠2018
数学不好,不是特别懂,可以进一步说明吗?
在解密的时候我进行了1E5,可能会有问题。我不太懂如何对加密过程反过来经行运算怎么办?主要是解密8888这个位置如何处理怎么考虑我不太懂,怎么分当加8888向前进一位,还有就是在千分位不变。

授人以鱼不如授人以渔请说一下用什么方法和需要学习什么来解决问题,谢谢大家
2018-12-07 20:59
快速回复:输入4个数,按照程序输入输出,无编译错误,逻辑问题出错,要是能帮忙 ...
数据加载中...
 
   



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

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