//#include <stdio.h>/*交换函数*/int swap(int *a 然后除以10取余 健壮性高.. ||| void main(){ int m &num[2]); /*还原密文数字*/ number=0; for(int i=3;i>=0;i--){ number=number*10+num[i]; } /*显示结果*/ printf("密文是:%d" &num[3]); /*百位和个位上的数字互换*/ swap(&num[0] &number); /*错误校验*/ if(number<1000 || number >9999){ printf("输入错误"); getchar(); getchar(); return -1; } /*分离变量各位数字*/ int num[4]={0};//倒序的数字储存 for(int i=0;i<4;i++){ num[i]=number%10; number/=10; } /*将该数每一位上的数字加9 给我悬赏的分数加点...起码30分...我的代码可读性 和可移植性 那么长的代码 继续输入*/ for(i = 0;i<4;i++) { a[i] = (m%10+9)%10; m = m/10; } m = a[0]*100+a[1]*1000+a[2]+a[3]*10; if(m<1000) printf("0"); printf("%d" i; do{ printf("input the number:"); scanf("%d" a[4] number); getchar(); getchar(); return 0;} 答案补充 经过编译测试通过 a[i]);}} &a[i++]));for(int i=0 ; i<4 ; i++){a[i]=(a[i]+9)%10;}for(int i=0 ; i<2 ; i++){temp = a[i];a[i]=a[i+2];a[i+2]=temp;}for(int i=0 ; i<4 ; i++){printf("%d" m); getchar();} ||| 好难呀 ||| void main(){int a[4];for(int i=0 ; i<4 ; scanf("%d" &m); }while( a || 作为该位上的新数*/ for(int i=0;i<4;i++){ num[i]=(num[i]+9)%10; } /*将千位和十位上的数字互换*/ swap(&num[1] char* argv[]){ int number=0; /*输入数字*/ printf("请输入原文:"); scanf("%d" int *b){ if( (m>999 && m<10000)); /*是四位数 b)return -1; int temp=*a; *a=*b; *b=temp; return 0;}int main(int argc // Number.cpp : 定义控制台应用程序的入口点