全国信息水平第六届C语言设计竞赛复赛A卷答案
2012-10-25 21:54
447 查看
/* 有一个数学等式:AB*CD=BA*DC,式中的一个字母代表一 位数字,试找出所有符合上述要求的乘积式并打印输出。 */ #include <stdio.h> #include <conio.h> int main() { int A, B, C, D; for (A = 1; A <= 9; A++) { for (B = 1; B <= 9; B++) { for (C = 1; C <= 9; C++) { for (D = 1; D <= 9; D++) { if (A == D && B == C ) { printf("%d%d*%d%d=%d%d*%d%d\n", A, B, C, D, B, A, D, C); } } } } } getch(); return 0; } /* 2. 编程解决如下问题(50分)。 请在整数n=742683613984中删除8个数字,使得余下的数字按原次序组成的新数最小。要求如下: (1)整数n和删除数字的个数“8”在源程序中完成赋值,程序直接输出运行结果; (2)程序结果输出先后被删除的数字(之间以逗号分隔)和删除后所得的最小数。 (提示:整数n可以以字符数组的方式定义、赋值和处理) */ #include <stdio.h> #include <conio.h> #define LEN 12 int main() { int str[LEN] = {7, 4, 2, 6, 8, 3, 6, 1, 3, 9, 8, 4}; int i, min, index, cnt = 0; int result[LEN] = {0}; while (cnt < 4)//依次找出倒数最小的4个数 { min = str[0]; for (i = 0; i < LEN; i++) { if (min > str[i]) { min = str[i]; index = i; } } result[index] = min; str[index] = 100; cnt ++; } cnt = 0; for (i = 0; i < LEN; i++) { if (str[i] != 100) { if (cnt != 0) putchar(','); printf("%d", str[i]); cnt++; } } putchar(10); for (i = 0; i < LEN; i++) if (result[i] != 0) printf("%d", result[i]); putchar(10); getch(); return 0; } /* 3. 附加题:编程解决如下问题(50分)。 (1)已知平面上三个点:(7,1)、(4,6)、(5,8),判断这三点 组成的三角形是何种三角形(锐角,直角,钝角)(10分); (2)对(1)问中的三角形,给出它的外接圆半径(20分); (3)已知平面上6个点的坐标为:(7,1)、(4,6)、(5,8)、(6,2)、 (3,9)、(2,7),试求覆盖这6个点的覆盖圆最小半径(20分)。 (要求:点坐标数据在程序初始化中赋值完成,程序运行后直接输出结果, 不进行数据输入;点坐标数据和题目要求完全一致,否则导致的结果不正确 视为程序编写错误。) */ #include <stdio.h> #include <conio.h> #include <math.h> #define LEN 12 typedef struct POINT { int x; int y; }Point; int cmp(const void *lhs, const void *rhs) { int *px = (int *)lhs; int *py = (int *)rhs; return *px > *py; } int main() { int x, y, flag = 0; double a, b, c; //------第一问--------------------------------------------- int a2 = (7 - 4) * (7 - 4) + (1 - 6) * (1 - 6); int b2 = (7 - 5) * (7 - 5) + (1 - 8) * (1 - 8); int c2 = (4 - 5) * (4 - 5) + (6 - 8) * (6 - 8); if (a2 + b2 == c2 || a2 + c2 == b2 || b2 + c2 == a2) { printf("组成的是直角三角形\n"); } else if (a2 + b2 > c2 || a2 + c2 > b2 || b2 + c2 > a2) { printf("组成的是钝角三角形\n"); } else printf("组成的是锐角三角形\n"); //------第二问--------------------------------------------- for (x = 4; x <= 7 && !flag; x++) { for (y = 1; y <= 8; y++) { a = (x - 7) * (x - 7) + (y - 1) * (y - 1); b = (x - 4) * (x - 4) + (y - 6) * (y - 6); c = (x - 5) * (x - 5) + (y - 8) * (y - 8); if (a - b < 1e-9 && b - c < 1e-9 && a - c < 1e-9) { printf("外接圆的半径为:%.2f\n", sqrt(a)); flag = 1; break; } } } //------第三问--------------------------------------------- Point pt[6] = {{7, 1}, {4, 6}, {5, 8}, {2, 7}, {6, 2}, {3, 9}}; //按横坐标从小到大排序 qsort(pt, 6, sizeof(pt[0]), cmp); //不知道这样做对不对! printf("%.2f", sqrt((pt[5/2].x - pt[5].x) * (pt[5/2].x - pt[5].x) + (pt[5/2].y - pt[5].y) * (pt[5/2].y - pt[5].y))); getch(); return 0; }
相关文章推荐
- 第五届全国信息水平设计大赛C语言复赛B卷答案
- 第五届全国信息水平设计大赛C语言程序设计A卷答案
- 第三届全国ITAT教育工程就业技能大赛复赛试题 Java程序设计(A卷)答案
- 第六届全国ITAT教育工程就业技能大赛复赛试题 Java程序设计(B卷)答案
- 第五届全国ITAT教育工程就业技能大赛复赛试题 Java程序设计(A卷)答案
- 全国大学生电子设计竞赛相关帖子汇总【2009.8.5更新】
- 课程设计--图书信息管理系统(C语言)
- 第十届全国大学生信息安全竞赛一道Web题的Writeup
- apk crack writeup - 2017全国大学生信息安全竞赛信安技能赛初赛
- C语言数据结构之学生信息管理系统课程设计
- 第七届信息技术应用大赛Java组复赛A卷参考答案
- XTU OJ 1209 Alice and Bob 2014(嘉杰信息杯ACM/ICPC湖南程序设计邀请赛暨第六届湘潭市程序设计竞赛)
- 软件设计竞赛复赛结束了....
- XTU OJ 1209 Alice and Bob 2014(嘉杰信息杯ACM/ICPC湖南程序设计邀请赛暨第六届湘潭市程序设计竞赛)
- 全国软件专业人才开发与设计赛题之中等题“统计省份人员信息”
- 全国电子设计竞赛 (经验之谈)
- C语言学生信息管理系统设计与实现
- 2011年全国职业院校技能竞赛高职组信息安全技术应用赛项规程概要
- 2017全国大学生信息安全竞赛Reverse 填数游戏