数组-14. 数字加密(15)


输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将千位和十位上的数字互换,百位和个位上的数字互换,组成加密后的新四位数。例如输入1257,经过加9取余后得到新数字0146,再经过两次换位后得到4601。

输入格式:

输入在一行中给出一个四位的整数x,即要求被加密的数。

输出格式:

在一行中按照格式“The encrypted number is V”输出加密后得到的新数V。

输入样例:
1257
输出样例:
The encrypted number is 4601
程序:

#include 
int main(void) {
    int n, a, b, c, d;
    char ch[4];
    scanf("%d", &n);    
    a = n % 10;            	/* 个位*/
    b = (n / 10) % 10;		/* 十位 */
    c = (n / 100) % 10;		/* 百位 */
    d = (n / 1000) % 10;	/* 千位 */
    a = (a + 9) % 10;           /* 加9除10取余 */
    b = (b + 9) % 10;
    c = (c + 9) % 10;
    d = (d + 9) % 10;
    ch[0] = b + '0';        /* 用字符,保证转换后输出千位不为0 */
    ch[1] = a + '0';
    ch[2] = d + '0';
    ch[3] = c + '0';
    printf("The encrypted number is %c%c%c%c\n", ch[0], ch[1], ch[2], ch[3]);
    return 0;
}

你可能感兴趣的:(PAT《C/C++/Java,程序设计基础》习题集)