码蹄集网站地址:https://www.matiji.net/exam/ojquestionlist
目录
MT1181 圆包含
(1)题目
输入2个圆的圆心的坐标值(x,y)和半径,判断断一个圆是否完全包含另一个圆,输出YES或者NO。另:内切不算做完全包含。
格式
输入格式: 输入整型,空格分隔。每行输入一组信息。 输出格式: 输出YES或者NO
样例1
输入格式: -20 20 50 50 50 1 输出格式: NO
(2)参考代码
#include<stdio.h> #include<math.h> int main() { int x1, y1, r1; int x2, y2, r2; scanf("%d %d %d", &x1, &y1, &r1); scanf("%d %d %d", &x2, &y2, &r2); int AB; if (r1 > r2) { AB = sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)); if (AB < (r1 - r2)) { printf("YES"); } else { printf("NO"); } } else if (r1 < r2) { AB = sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)); if (AB < (r2 - r1)) { printf("YES"); } else { printf("NO"); } } else { printf("NO"); } return 0; }
MT1182 圆相交
(1)题目
输入2个圆的圆心的坐标值(x,y)和半径,判断2个圆是否相交,输出YES或者NO。
格式
输入格式: 输入整型,空格分隔。每行输入一组信息。 输出格式: 输出YES或者NO
样例1
输入格式: -20 20 50 50 50 1 输出格式: NO
(2)参考代码
#include<stdio.h> #include<math.h> int main() { int x1, y1, r1, x2, y2, r2; scanf("%d %d %d", &x1, &y1, &r1); scanf("%d %d %d", &x2, &y2, &r2); int AB = sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)); if (r1 >= r2) { if (AB >= (r1 - r2) && AB < (r1 + r2)) { printf("YES"); } else { printf("NO"); } } else { if (AB >= (r2 - r1) && AB < (r1 + r2)) { printf("YES"); } else { printf("NO"); } } return 0; }
MT1183 矩形包含
(1)题目
输入2个矩形的左上角和右下角两个点的坐标值(x,y),判断2个矩形是否相互包含(一个在另一个内部,边框不重叠),输出YES或者NO。矩形的边应与x,y轴相平行。
格式
输入格式: 输入整型,空格分隔。 每行输入一组信息。 输出格式: 输出YES或者NO
样例1
输入: -20 20 20 -10 -10 10 10 -5 输出: YES
(2)参考代码
#include<stdio.h> int main() { int x1, y1, x2, y2, x3, y3, x4, y4; scanf("%d %d %d %d", &x1, &y1, &x2, &y2); scanf("%d %d %d %d", &x3, &y3, &x4, &y4); if ((x1 < x3 && x3 < x2 && y3 < y1 && y3 > y2) && (x1 < x4 && x4 < x2 && y4 < y1 && y4 > y2)) { printf("YES"); } else if ((x3 < x1 && x1 < x4 && y1 < y3 && y1 > y4) && (x3 < x2 && x2 < x4 && y2 < y3 && y2 > y4)) { printf("YES"); } else { printf("NO"); } return 0; }
MT1184 矩形相交
(1)题目
输入2个矩形的左上角和右下角两个点的坐标值(x,y),判断2个矩形是否相交,输出YES或者NO。矩形的边应与x,y轴相平行。假定输入坐标能顺利构成矩形,不考虑无效矩形的情况。
格式
输入格式: 输入整型,空格分隔。 每行输入一组信息。 输出格式: 输出YES或者NO
样例1
输入: -20 20 20 -10 -10 10 10 -5 输出: NO
(2)参考代码
MT1185 while循环
(1)题目
请编写一个简单程序,从小到大输出所有小于8的正整数和0(从0开始输出)。
格式
输入格式: 无 输出格式: 输出整型,空格分隔
样例1
输入: 无 输出: 0 1 2 3 4 5 6 7
(2)参考代码
#include<stdio.h> int main() { int i = 0; while (i < 8) { printf("%d ", i); i++; } return 0; }
MT1186 do-while循环
(1)题目
请编写一个简单程序,从大到小输出所有小于n的正整数,直到0为止(不含0)。n从键盘输入
格式
输入格式: 输入整型数n 输出格式: 输出整型,空格分隔
样例1
输入: 10 输出: 10 9 8 7 6 5 4 3 2 1
(2)参考代码
#include<stdio.h> int main() { int n; scanf("%d", &n); do { printf("%d ", n); n--; } while(n); return 0; }
MT1187 累加和
(1)题目
从1累加到10,输出累加和
格式
输入格式: 无 输出格式: 输出整型
样例1
输入: 无 输出: 55
(2)参考代码
#include<stdio.h> int main() { int i; int sum = 0; for (i=0;i<=10;i++) { sum += i; } printf("%d", sum); return 0; }