在C语言环境下输入一个四位整数,求对应的数字并输出,最后千位和十位互换,百位

百位和各位互换,如:输入1256,输出为5612.其他则为错误@!
2024-12-02 15:56:36
推荐回答(5个)
回答1:

给你个简单点的吧:
#include

int main()
{
int i;
int j;
int a;
int m;
printf("inter the i:");
scanf("%d",&i);
j = i%100;
a = i/100;
m = j*100+a;

printf("%d",m);

return 0;
}

回答2:

#include
int change(int s)
{
int a, b, c, d, i;
int ch[4];
a=(int)(s/1000);
b=(int)(s/100%10);
c=(int)(s/10%100%10) ;
d=(int)(s%1000%100%10);\*将输入的数的各位分开并分别赋给abcd*\
ch[0]=c; ch[1]=d;ch[2]=a;ch[3]=b;\*将各位上的数的顺序改变并存入数组ch*\
s=0;
for(i=0;i<4;i++)\*此循环将分开的各位上的数合并为一个完整的四位数*\
{
s*=10;
s+=ch[i];
}
return s;\*返回结果*\
}
void main()
{
int in;
printf("Please input the figure \n");
scanf("%d",&in);
printf("your answer is\n");
printf("%d\n",change(in));
}
/*此程序经调试可用,并得到正确的结果*/

回答3:

main()
{
int number,thousand,hundred,ten,single;
printf("input the number of 1000 -9999:");
scanf("%d",&number);
thousand = number/1000;
hundred = number%1000/100;
ten = number%100/10;
single = number%10;
printf("\nthe org number is :%d",number);
printf("\nthe new number is :%d",ten*1000+single*100+thousand*10+hundred);

}

回答4:

给你个字符方式处理的吧,不用有几位数就去拆分,怎么换都行
int main(void)
{
char put[4+1];
int i;
puts("input a num");
scanf("%d",&i);
itoa(i,put,10);
put[0]=put[0]^put[2];
put[2]=put[0]^put[2];
put[0]=put[0]^put[2];
put[1]=put[1]^put[3];
put[3]=put[1]^put[3];
put[1]=put[1]^put[3];
printf("%s",put);
return 0;
}

回答5:

楼上怎么没有库文件- -。给分咯~自己写的,我尽可能的用简单的知识写出来。
#include
#include
void main()
{
int gw,sw,bw,qw,a;
do
{
scanf("%d",&a);
}
while(a<1000 || a>9999);
qw=(a-a%1000)/1000;
bw=((a-qw*1000)-(a-qw*1000)%100)/100;
gw=(a-qw*1000-bw*100)%10;
sw=(a-qw*1000-bw*100-gw)/10;
printf("%d\n",sw*1000+gw*100+qw*10+bw);
system("pause");
}