MT1072 分数运算
(1)题目
输入两个分数,对他们进行加减乘除运算,输出结果。不考虑分母为0等特殊情况。
格式
输入格式: 输入整型,如样例所示。 输出格式: 输出计算结果实型,如样例所示。
样例1
输入格式: 1/2 1/4 输出格式: 1/2 + 1/4=0.750000 1/2 - 1/4=0.250000 1/2 * 1/4=0.125000 1/2 / 1/4=2.000000
(2)参考代码
#include<stdio.h> int main() { double x, y, a, b, z1, z2; scanf("%lf/%lf %lf/%lf", &x, &y, &a, &b); z1 = x / y; z2 = a / b; printf("%.0lf/%.0lf + %.0lf/%.0lf=%lf\n", x, y, a, b, z1+z2); printf("%.0lf/%.0lf - %.0lf/%.0lf=%lf\n", x, y, a, b, z1-z2); printf("%.0lf/%.0lf * %.0lf/%.0lf=%lf\n", x, y, a, b, z1*z2); printf("%.0lf/%.0lf / %.0lf/%.0lf=%lf\n", x, y, a, b, z1/z2); return 0; }
MT1073 时刻求和
(1)题目
输入正整数N和M,空格分隔。把他们看作在12小时制的时刻(小时)求和并输出,输出最小列宽为3列。
格式
输入格式: 输入正整数N和M,空格分隔。 输出格式: 输出整型
样例1
输入: 5 7 输出: 0
(2)参考代码
#include<stdio.h> int main() { int N, M; scanf("%d %d", &N, &M); if (N+M>=12) { printf("%3d", N+M-12); } else { printf("%3d", N+M); } return 0; }
MT1074 平方根和对数值
(1)题目
请编写一个简单程序,计算求给定数的平方根、2个对数值(ln,lg)。
格式
输入格式: 输入实型 输出格式: 输出平方根、对数值,空格分隔,保留两位小数
样例1
输入: 5 输出: 2.24 1.61 0.70
(2)参考代码
#include<stdio.h> #include<math.h> int main() { double x; scanf("%lf", &x); printf("%.2lf %.2lf %.2lf", sqrt(x), log(x), log10(x)); return 0; }
MT1075 平方根X
(1)题目
输入正整数N, 求N的平方根X。如果N不是一个完美的平方,输出floor(X) 。不考虑不合理的输入等特殊情况。
格式
输入格式: 输入正整数N 输出格式: 输出整型
样例1
输入: 5 输出: 2
(2)参考代码
#include<stdio.h> #include<math.h> int main() { int N; scanf("%d", &N); int n = (double)sqrt(N); printf("%d\n", n); return 0; }
MT1076 三维空间两点
(1)题目
输入三维空间两点坐标(x,y,z),计算两点之间的距离并输出。
格式
输入格式: 输入实型坐标(x,y,z),空格分隔。每行以一个点。 输出格式: 输出实型,保留2位小数。
样例1
输入: -20 20 0 20 -10 0 输出: 50.00
(2)参考代码
#include<stdio.h> int main() { double x1, x2, y1, y2, z1, z2; scanf("%lf %lf %lf", &x1, &y1, &z1); scanf("%lf %lf %lf", &x2, &y2, &z2); printf("%.2lf\n", sqrt(pow(x2-x1, 2)+pow(y2-y1, 2)+pow(z2-z1, 2))); return 0; }
MT1077 幸运数
(1)题目
假定幸运数是只包含4或7的正整数,如7、47。判断一个正整数n是不是一个幸运数。是则输出YES,否则输出NO。不考虑负数,0或者其他特殊情况。不考虑溢出或者超出整型范围的情况。
格式
输入格式: 输入为整型 输出格式: 是幸运数则输出YES,否则输出NO
样例1
输入: 47 输出: YES
(2)参考代码
#include<stdio.h> int main() { int x, flag; scanf("%d", &x); while (x) { if (x % 10 == 4 || x % 10 == 7) { flag = 1; x /= 10; } else { flag = 0; break; } } if (flag == 1) { printf("YES"); } else { printf("NO"); } return 0; }
MT1078 整除幸运数
(1)题目
假定幸运数是只包含4或7的正整数,如7、47。判断一个正整数n是否能被一个幸运数整除。是则输出YES,否则输出NO。不考虑负数,0或者其他特殊情况。不考虑溢出或者超出整型范围的情况。
格式
输入格式: 输入为整型 输出格式: 能被一个幸运数整除则输出YES,否则输出NO
样例1
输入格式: 47 输出格式: YES
(2)参考代码
#include<stdio.h> int main() { int n, temp, flag; scanf("%d", &n); for (int i=1;i<=n;i++) { if (n % i == 0) { temp = i; flag = 1; while (temp) { if (temp % 10 != 4 && temp % 10 != 7) { flag = 0; break; } temp /= 10; } } if (flag == 1) { printf("YES"); return 0; } } printf("NO"); return 0; }
MT1079 floor函数
(1)题目
给定一个正整数n,求满足floor(n/x)=y的x和y (x和y是正整数)。比如输入5,则(x, y)的组合可以有:(1, 5), (2, 2), (3, 1), (4, 1), (5, 1)。不考虑负数,0或者其他特殊情况。
格式
输入格式: 输入为整型 输出格式: 输出为整型,空格分隔,每组一行。前一个数为x,后面一个为y。输出按照x从小到大的次序输出。
样例1
输入: 5 输出: 1 5 2 2 3 1
(2)参考代码
#include<stdio.h> int main() { int n, y = 0; scanf("%d", &n); for (int x=1;x<=n;x++) { y = n / x; printf("%d %d\n", x, y); } return 0; }
MT1080 乘积之和
(1)题目
给定一个正整数n,求满足floor(n/x)=y的x和y的乘积之和 (x和y是正整数)。比如输入5,则(x, y)的组合可以有:(1, 5), (2, 2), (3, 1), (4, 1), (5, 1),那么, 1 * 5 + 2 * 2 + 3 * 1 + 4 * 1 + 5 * 1 = 5 + 4 + 3 + 4 + 5 = 21。不考虑负数,0或者其他特殊情况。
格式
输入格式: 输入为整型 输出格式: 输出为整型
样例1
输入: 5 输出: 21
(2)参考代码
#include<stdio.h> int main() { int n, y = 0, sum = 0; scanf("%d", &n); for (int x=1;x<=n;x++) { y = n / x; sum += x * y; } printf("%d\n", sum); return 0; }