目录
目录
2-1 厘米换算英尺英寸
2-2然后是几点
2-3 逆序的三位数
2-4 BCD解密
总结:
2-1 厘米换算英尺英寸
已知英尺foot 英寸inch 对应米数(foot+inch/12)*0.3048,输入厘米数,对应英尺英寸?
输入:170?? 输出:5 6
#include <stdio.h>
int main()
{
int cm = 0;
scanf("%d",&cm);
int foot = cm/(100*0.3048); //十进制的英尺数
/*注意此句不能写成cm/100/0.3048,int每一步运算都取整型,从左至右*/
int inch = ((cm/30.48)-foot)*12 ; //小数部分转化为十二进制的英寸
printf("%d %d",foot,inch);
return 0;
}
2-2然后是几点
#include <stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b); //输入起始时间和流逝时间
int x = a/100; //小时
int y = x*60+a%100; //初始的分钟数
int z = y+b; //此时的分钟数
int w = z/60*100; //千百位
int q = w+z%60;
printf("%d",q);
return 0;
}
2-3 逆序的三位数
输入321? 输出123;输入700? 输出7
#include <stdio.h>
int main()
{
int x,y,z;
int o,p,q;
int A;
scanf("%d",&A);
x = A/100; //旧百位
y = (A-x*100)/10; //旧十位
z = A-x*100-y*10; //旧个位;也可A%10
o = z*100; //新百位
p = y*10;
q = x;
printf("%d",o+p+q);
return 0 ;
}
2-4 BCD解密
分析:
十进制:18
二进制:0001 0010
十六进制:0x12
?BCD(对应二进制):12
0001? 0010
1???????? 2
#include <stdio.h>
int main()
{
int x_10;
int x_16 = 0;
int x_BCD
scanf("%d",&x_10);
x_16=x_10/16*10+x_10%16;
x_BCD = x_16/10*10+x_16%10;
//其实二者表示相同
printf("%d",x_BCD);
return 0;
}
//简单方法:
scanf("%d",&x); //以十进制方式输入
printf("%x",x); //以十六进制方式输出
总结:
C语言利用整型的除法/和取余%可以实现单位的转换和进制的转化(某位数字的取出)
|