爱问知识人 爱问教育 医院库

计算机C语言问题?

首页

计算机C语言问题?

某个公司采用公用电话传递数据,数据是四位的整数。在传递过程中是加密的。规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换 

提交回答
好评回答
  • 2018-03-26 05:28:27
      #include 
    main()
    {
    	int n, i, tmp;
    	printf("please enter a 4-digit number: ");
    	scanf("%4d", &n);
    	if (n <= 0 || n / (int)pow(10, 3) == 0) { //剔除错误输入
    		printf("\ninput error!\n");
    		return;
    	}
    	for (i = 0; i < 4; i++) { //加5余10
    		tmp = n / (int)pow(10, i) % 10;
    		tmp = (tmp + 5) % 10 - tmp;
    		n += tmp * pow(10, i);
    	}
    	for (i = 0; i < 2; i++) { //交换位置
    		tmp = n / (int)pow(10, 3 - i) % 10 - n / (int)pow(10, i) % 10;
    		n += tmp * pow(10, i);
    		n -= tmp * pow(10, 3 - i);
    	}
    	printf("\nthe encoded number is %d\n", n);
    	return;
    }
    顺便说一句,加密算法也就是解密算法,因为它是对称的。
       。

    小***

    2018-03-26 05:28:27

其他答案

    2018-03-26 09:28:27
  • ???

    马***

    2018-03-26 09:28:27

  • 2018-03-26 09:28:27
  • #include 
    #include 
    void function(int *n)
    {
      int i1=(*n%10+5)%10;
      int i2=((*n%100)/10+5)%5;
      int i3=((*n%1000)/100+5)%5;
      int i4=(*n/1000+5)%5;
      *n=i1*1000+i3*100+i2*10+i1;
    }
    main()
    {
    int n, i, tmp;
    printf("please enter a 4-digit number: ");
    scanf("%4d", &n);
    if(n9999)
      printf("Error\n");
    function(&n);
    printf("n:%4d\n",n);
    }
    

    断***

    2018-03-26 09:28:27

  • 2018-03-26 09:28:27
  • main()
    {int x[4],i,temp;
    for(i=0;i<4;i++)
    {printf("enter the number %d",i);
    scanf("%d",&x[i]);
    x[i]+=5;
    x[i]=x[i]%10;
    }for(i=0;i<2;i++)
    {
    temp=x[i];
    x[i]=x[3-i];
    x[3-i]=temp;
    }for(i=0;i<4;i++)
    {printf("the code %d is%d\n:",i,x[i]);
    }}

    陈***

    2018-03-26 09:28:27

  • 2018-03-26 06:28:27
  •   我在“小临风”的基础上修改一下我认为是错误的地方,可能是粗心大意。
       #include #include void function(int *n) { int i1=(*n%10+5)%10; int i2=((*n%100)/10+5)%10; //原来为%5 int i3=((*n%1000)/100+5)%10;//原来为%5 int i4=(*n/1000+5)%10; //原来为%5 *n=i4*1000+i3*100+i2*10+i1; //原来为i1*1000 } main() { int n, i, tmp; printf("please enter a 4-digit number: "); scanf("%4d", &n); if(n9999) printf("Error\n"); function(&n); printf("n:%4d\n",n); } 。

    对***

    2018-03-26 06:28:27

类似问题

换一换
  • C/C++ 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新资料 推荐信息 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 178-197
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):