c语言中如何四位数变换,如1234换成1324

c语言中如何四位数变换,如1234换成1324,int后该如何输入?

img

首先你这个用数字命名变量就不以数字开头!

#include<stdio.h>
int main()
{
    int a;
    int Th,Ha,Te,Num;
    scanf("%d",&a);
    Th = a/1000;
    Ha = (a-1000*Th)/100;
    Te = (a-1000*Th-100*Ha)/10;
    Num = (a-1000*Th-100*Ha-10*Te);
    a = Th*1000+Te*100+Ha*10+Num;
    printf("%d\n",a);
    return 0;
}

结果:

img

存在几个问题:

  1. 一楼说的变量命名问题,命名规则:https://m.php.cn/faq/415585.html
  2. 假设你希望得到第二位(假设变量命名前面都加了个a),a2 = a1234 / 100 得到的是12,而不是你期望的2,按你的思路,需要进一步 a2 % 10得到2

如果你的需求指定是4位数换中间两位的话,那么直接以字符形式换就好了,scanf和printf我就省略了。


#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    int num = 1234, ret;
    char str[4];
    char temp;
    itoa(num, str, 10);

    temp = str[1];
    str[1] = str[2];
    str[2] = temp;

    ret = atoi(str);
    return 0;
}

供参考:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    char str[4], t;
    printf("请输入一个四位数:");
    scanf("%s", str);
    t = str[1]; str[1] = str[2]; str[2] = t;
    printf("%d", atoi(str));
    return 0;
}

您老还是上两天学再写代码吧
最基础的什么是变量什么是常量您还没有搞清楚,往下说什么都是白说的