目录
厘米换算英尺英寸:
#include <stdio.h>
int main()
{
int cm;
printf("请输入厘米数:");
scanf("%d",&cm);
int foot = cm / 30.48;
int inch = ((cm / 30.48) - foot) * 12;
printf("%d英尺%d英寸",foot,inch);
return 0;
}
时间加法:
#include <stdio.h>
int main()
{
// 输入起始时间,例如1106表示11点零6分,经过了110分钟后,计算出终止时间是几点几分?
// 题目确保了起始时间和终止时间在同一天;
int startTime,overTime;
scanf("%d %d",&startTime,&overTime);
int startTime_min = ((startTime / 100) * 60) +(startTime % 100) ;
int endTime_min = startTime_min + overTime;
int endTime = ((endTime_min / 60) *100) + (endTime_min % 60);
printf("endTime=%d",endTime);
return 0;
}
逆序的三位数:
输入一个三位数,输出这个数字的按位逆序后的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0.比如输入700,输出应该是7。
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
int b = a / 100;
int c = (a % 100) / 10;
int d = a % 10;
int e = (d * 100) + (c * 10) + (b);
printf("a=%d,b=%d,c=%d,d=%d",a,b,c,d);
printf("逆序数字=%d",e);
return 0;
}
BCD解密:
BCD数是用一个字节来表达两位十进制的数,每四个比特表示一位。所以如果一个BCD数的十六进制是0x12,它表达的就是十进制的12。但是小明没学过BCD,把所有BCD数都当作二进制转换成十进制输出了。于是BCD的0x12被输出成了十进制的18了;
现在,程序需要输入错误的十进制数,然后输出正确的十进制数。
#include <stdio.h>
int main()
{
// 提示:将输入的十进制转换为十六机制
int dec;
printf("请输入十进制:");
scanf("%d",&dec);
int a = dec / 16;
int b = dec % 16;
int hex = (a *10) + b;
printf("hex=%d",hex);
return 0;
}