| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1507 人关注过本帖
标题:C资料大全里面的一道题,稍微有“那么一点点”难度,希望能写个代码,顺便解 ...
只看楼主 加入收藏
hackerStar
Rank: 2
来 自:厦门
等 级:禁止访问
帖 子:66
专家分:71
注 册:2009-10-29
结帖率:85.71%
收藏
已结贴  问题点数:5 回复次数:19 
C资料大全里面的一道题,稍微有“那么一点点”难度,希望能写个代码,顺便解释下代码的意思,拜托了!!!!!!!
某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:

   每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

写出代码的同时,能不能解释下部分代码的意思?谢谢啦

搜索更多相关主题的帖子: 资料 难度 大全 那么一点点 
2009-10-29 21:50
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:1 
无需注释,可以看懂:
#include <stdio.h>
main(void)
{
    int x,ge,shi,bai,qian,t;
    printf("please input the number:\n");
    scanf("%d",&x);
    ge=x%10;
    shi=x%100/10;
    bai=x/100%10;
    qian=x/1000;
    ge=(ge+5)%10;
    shi=(shi+5)%10;
    bai=(bai+5)%10;
    qian=(qian+5)%10;
    t=ge;
    ge=qian;
    qian=t;
    t=shi;
    shi=bai;
    bai=t;
    printf("%d%d%d%d",qian,bai,shi,ge);
     
}
2009-10-29 22:02
剑木易
Rank: 2
等 级:论坛游民
帖 子:18
专家分:50
注 册:2009-10-28
收藏
得分:0 
#include<stdio.h>
#include<conio.h>
main()
{ int i,a,b,c,d,t;
scanf("%d",&i);
a=i/1000;
b=(i-1000*a)/100;
c=(i-1000*a-100*b)/10;
d=i%10;
t=a;
a=d;
d=a;
t=b;
b=c;
c=t;
a=(a+5)%10;
b=(b+5)%10;
c=(c+5)%10;
d=(d+5)%10;
printf("%d",1000*a+100*b+10*c+d);
getch();
}
2009-10-29 22:09
剑木易
Rank: 2
等 级:论坛游民
帖 子:18
专家分:50
注 册:2009-10-28
收藏
得分:0 
#include<stdio.h>
#include<conio.h>
main()
{ int i,a,b,c,d,t;
scanf("%d",&i);
a=i/1000;
b=(i-1000*a)/100;
c=(i-1000*a-100*b)/10;
d=i%10;
t=a;
a=d;
d=a;
t=b;
b=c;
c=t;
a=(a+5)%10;
b=(b+5)%10;
c=(c+5)%10;
d=(d+5)%10;
printf("%d",1000*a+100*b+10*c+d);
getch();
}
2009-10-29 22:09
小J
Rank: 8Rank: 8
等 级:等待验证会员
威 望:1
帖 子:282
专家分:704
注 册:2009-6-18
收藏
得分:0 
#include "stdio.h"
main()
{
    int num,a[4],i=0,n;
    printf("请输入数据:");
    scanf("%d",&num);
    while(num>0)
    {
        n=num%10;
        num=num/10;                  //取出num中的每一个数
        a[i]=(n+5)%10;               //将取出来的数+5并除以10取余
        printf("%d",a[i]);           //输出数据
        i++;
    }
}

[ 本帖最后由 小J 于 2009-10-29 22:23 编辑 ]
2009-10-29 22:12
hackerStar
Rank: 2
来 自:厦门
等 级:禁止访问
帖 子:66
专家分:71
注 册:2009-10-29
收藏
得分:0 
回复 2楼 m456m654
如果我用数组做这道题,能不能帮我看看下面代码中哪个地方错了

#include <stdio.h>
main()
{
    int a,i,aa[4],t;
scanf("%d",&aa);
aa[0]=a%10;
aa[1]=a%100/10;
aa[2]=a%1000/100;
aa[3]=a/1000;
for(i=0;i<=3;i++)
 {aa[i]+=5;
 aa[i]%=10;
 }
for(i=0;i<=3/2;i++)
 {t=aa[i];
 aa[i]=a[3-i];
 aa[3-i]=t;
 }
for(i=3;i>=0;i--)
printf("%d",aa[i]);
}

-------------->>>>>信仰火之意识,崇拜黑客精神<<<<<--------------------
2009-10-29 22:16
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
scanf("%d",&a);
你是想输入数a吧?
2009-10-29 22:17
hackerStar
Rank: 2
来 自:厦门
等 级:禁止访问
帖 子:66
专家分:71
注 册:2009-10-29
收藏
得分:0 
回复 5楼 小J
你的程序错了,刚才试了下,数据之间没有交换

-------------->>>>>信仰火之意识,崇拜黑客精神<<<<<--------------------
2009-10-29 22:18
hackerStar
Rank: 2
来 自:厦门
等 级:禁止访问
帖 子:66
专家分:71
注 册:2009-10-29
收藏
得分:0 
回复 7楼 m456m654
刚才我试了把&aa改为&a,还是出错,error C2018: unknown character '0xa1',这是错误提示,不知道是什么意思

-------------->>>>>信仰火之意识,崇拜黑客精神<<<<<--------------------
2009-10-29 22:21
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
回复 9楼 hackerStar
你的相应行前面有中文状态下的空格,删了他们
2009-10-29 22:23
快速回复:C资料大全里面的一道题,稍微有“那么一点点”难度,希望能写个代码, ...
数据加载中...
 
   



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

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