一.整数四则运算
本题要求编写程序,计算 2 个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内
输入格式:
输入在一行中给出 2 个正整数 A 和 B。
输出格式:
在 4 行中按照格式 “A 运算符 B = 结果” 顺序输出和、差、积、商。
输入样例:
3 2
输出样例:
3 + 2 = 5
3 - 2 = 1
3 * 2 = 6
3 / 2 = 1
//pat
int A=0;
int B=0;
scanf("%d %d",&A,&B);
printf("%d + %d = %d\n",A,B,A+B);
printf("%d - %d = %d\n",A,B,A-B);
printf("%d * %d = %d\n",A,B,A*B);
printf("%d / %d = %d\n",A,B,A/B);
//mooc
int A;
int B;
int X,Y,Z,M;
scanf("%d %d",&A,&B);
X =A + B;
Y =A - B;
Z =A * B;
M =A / B;
printf("%d + %d = %d\n",A,B,X);
printf("%d - %d = %d\n",A,B,Y);
printf("%d * %d = %d\n",A,B,Z);
printf("%d / %d = %d\n",A,B,M);
二. 厘米换算英尺英寸
如果已知英制长度的英尺 foot 和英寸 inch 的值,那么对应的米是 (foot+inch/12)*0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了 1 英尺等于 12 英寸。
输入格式:
输入在一行中给出 1 个正整数,单位是厘米。
输出格式:
在一行中输出这个厘米数对应英制长度的英尺和英寸的整数值,中间用空格分开。
输入样例:
170
输出样例:
5 6
//blbl//mooc
int cm;
scanf("%d", &cm);
int foot = cm / 30.48;
int inch = (cm/30.48 - foot) * 12;
printf("%d %d", foot, inch);
cm/30.48是将cm换算成foot+inch/12,但是cm是整数,30.48是浮点数,前面是int,c语言直接去掉小数部分了,就剩一个foot
三. 然后是几点
有时候人们用四位数字表示一个时间,比如 1106 表示 11 点零 6 分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,即 5 点 30 分表示为 530。注意,第二个数字表示的分钟数可能超过 60,也可能是负数。
输入格式
输入在一行中给出 2 个整数,分别是四位数字表示的起始时间、以及流逝的分钟数,其间以空格分隔。注意:在起始时间中,当小时为个位数时,没有前导的零,即 5 点 30 分表示为 530;流逝的分钟数可能超过 60,也可能是负数。
输出格式
输出四位数字表示的终止时间。题目保证起始时间和终止时间在同一天内。
输入样例
1120 110
输出样例
1310
//mooc
int i, j, x = 0, y, z;
scanf("%d%d", &i, &j);
if(i >= 1000)
{
x = i / 1000;
y = (i % 1000) / 100;
z = (i %1000) %100;
}
else
{
y = i / 100;
z = i % 100;
}
int s = (10*x + y) * 60 + z;
int n = s + j;
i = n / 60 *100 + (n - ((n / 60 )* 60));
printf("%d", i);
四. 逆序的三位数
程序每次读入一个正 3 位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的 0 时,输出不应带有前导的 0。比如输入 700,输出应该是 7。
输入格式:
每个测试是一个 3 位的正整数。
输出格式:
输出按位逆序的数。
输入样例:
123
输出样例:
321
//pat//mooc
int i;
scanf("%d", &i);
int a = i % 100 %10;
int b = i / 100;
int c = i %100 / 10;
i = a*100 + b + c*10;
printf("%d", i);
五. BCD 解密
BCD 数是用一个字节来表达两位十进制的数,每四个比特表示一位。所以如果一个 BCD 数的十六进制是 0x12,它表达的就是十进制的 12。但是小明没学过 BCD,把所有的 BCD 数都当作二进制数转换成十进制输出了。于是 BCD 的 0x12 被输出成了十进制的 18 了!现在,你的程序要读入这个错误的十进制数,然后输出正确的十进制数。提示:你可以把 18 转换回 0x12,然后再转换回 12。
输入格式
输入在一行中给出一个 [0, 153] 范围内的正整数,保证能转换回有效的 BCD 数,也就是说这个整数转换成十六进制时不会出现 A-F 的数字。
输出格式
输出对应的十进制数。
输入样例
18
输出样例
12
//pat//mooc
int i;
scanf("%d", &i);
int t = i % 16 + i / 16 * 10;
printf("%d", t);
1459



被折叠的 条评论
为什么被折叠?



