gpt4 book ai didi

c - 如何改变c中整数中数字的位置

转载 作者:行者123 更新时间:2023-11-30 18:24:39 28 4
gpt4 key购买 nike

问题如下:我需要编写一个函数,它接受一个四位整数,然后以这种方式加密该数字:取出每个数字并将其替换为 (c + 7)% 10;然后将第一个数字与第三个数字交换,将第二个数字与最后一个数字交换;然后返回加密的整数。到目前为止,我已经编写了这么多代码:

#include<stdio.h>
#include <stdlib.h>
#define N 100


int encrypt(int a){
int n=0,i;
for (i=0;i<4;i++){
n = a%10;
a = a/10;
n = (n+7)%10;
}
}


void main()
{
int a;
printf("Enter the four digit integer: ");
scanf("%d",&a);
encrypt(a);
}

我得到了正确的转换输出,但我不知道如何交换数字的位置。

最佳答案

试试这个

int encrypt(int num) {
int arr[4];
int i = 0;
arr[0] = (num / 1000);
arr[1] = (num / 100) % 10;
arr[2] = (num / 10) % 10;
arr[3] = num % 10;
for (; i < 4; i++) {
arr[i] = (arr[i] + 7) % 10;
}
return arr[2] * 1000 + arr[3] * 100 + arr[0] * 10 + arr[1];
}

关于c - 如何改变c中整数中数字的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37641177/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com