⑴ 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(" ");