⑴ c语言中怎么求一个数的反序数
不用求原来的数字到底是几位,直接用取余数乘10的方法就可以了。
⑵ 用c语言编写一个程序要求任意输入4位16进制整数,以反序的方式输出该16进制数.
long a,b,c,d,e;
scanf("x%,x%,x%,x%",&a,&b,&c,&d);
e |= d <饥贺悔<烂正 24 | c << 16 | b <拍中< 8 | a;
printf("x%\n",e);
⑶ C语言实验题,这是输入十六进制数字反序输出的程序,每一步求解释,看不懂程序.
scanf("%hx",&a);——凯竖毕a=HHHHhhhhLLLLllll
b=a<纤凳<12;——b=llll000000000000
c=a<<4&0x0f00;——c=hhhhLLLLllll0000&0000111100000000==0000LLLL00000000
d=a>>12&0x000f——d=000000000000HHHH&0000000000001111==000000000000HHHH
a=a>>盯芹4&0x00f0——a=0000HHHHhhhhLLLL&0000000011110000==00000000hhhh0000
a=a+b+c+d=00000000hhhh0000+llll000000000000+0000LLLL00000000+000000000000HHHH=llllLLLLhhhhHHHH
以上H、h、L、l和1都是二进制的一位。由此可知,若输入ABCD的话,输出则是DCBA,刚好把输入的16进制数按位倒过来……
⑷ C语言反序输出
#include<stdio.h>
void main()
{
unsigned short a,b,c,d,e,f;
printf("请输入一个四位十六进岩盯辩制数,按回车键结束:");
scanf("%X",&a);
b=a<<12;
c=a<<粗缺4;
d=a>>12;
e=a>>4;
b=0xf000&b;则渗
c=0x0f00&c;
d=0x000f&d;
e=0x00f0&e;
f=b|c|d|e;
printf("输出反序为:%x\n",f);
}
⑸ C语言怎么反序输出
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
intmain()
{
inti,j,k;
charstr[80];
//for(i=0;i<80;i++)
//{
//scanf("%c",&str[i]);
//}t
//注意你的输入有问题
gets(str);
//for(i=0,j=strlen(str)-1;i<j;i++,j--)
//{
//k=i;
//i=j;
//j=k;
//}
for(i=strlen(str)-1;i>=0;i--)//改改循环体即可
{
printf("%c",str[i]);
}
}
⑹ c语言实现16进制数逆序
inti,x,n=16,index=0;
chardata[16];
scanf("%d",&x);
for(i=0;i<16;i++)
data[i]=0;
printf("%d对应的%d进制为:",x,n);
while(x>0)
{
inttemp=x%n;
switch(temp)
{
case10:
data[index]='A';
break;
case11:
data[index]='B';
野猛break;
case12:
data[index]='C';
颂团桥break;
case13:
data[index]='D';
或竖break;
case14:
data[index]='E';
break;
case15:
data[index]='F';
break;
default:
data[index]=temp+'0';
}
x=x/n;
index++;
}
for(i=0;i<=index-1;i++)
printf("%d",data[i]);
printf(" ");