苏州学习网站建设,淘客做网站多少钱,深圳做网站哪家好,黄冈市建设局官方网站【题目】输入一组勾股数 a,b,c#xff0c;用分数格式输出其较小锐角的正弦值。#xff08;要求约分。#xff09;输入格式一行#xff0c;包含三个正整数#xff0c;即勾股数 a,b,c#xff08;无大小顺序#xff09;。输出格式一行#xff0c;包含一个分数#xff0c;…【题目】输入一组勾股数 a,b,c用分数格式输出其较小锐角的正弦值。要求约分。输入格式一行包含三个正整数即勾股数 a,b,c无大小顺序。输出格式一行包含一个分数即较小锐角的正弦值输入样例3 5 4输出样例3/5【概念】勾股数就是直角三角形的三条边其中斜边最长。较小锐角的正弦值就是三条边的最短边除以斜边。【解题思路】第一步先找到三个数中的最大值和最小值第二步求这两个值的最大公约数s可以用“欧几里得算法”具体可以看前面的文章“递归利用欧几里得算法递归求最大公约数”第三步结果需要得到一个分数所以假设最短边为x最长边为y输出为x/s)/(y/s)【代码】#include bits/stdc.h using namespace std; //利用欧几里得算法递归求两个数的最大公约数 int gcd(int x,int y) { if(y0) return x; else return gcd(y,x%y); } int main() { int a[3]; //第一步输入直角三角形三条边 for(int i0;i3;i) cina[i];//输入三个数 sort(a,a3);//对三个数从小到大排序 //第二步利用欧几里得算法求最大值a[2]和最小值a[0]的最大公约数 int sgcd(a[2],a[0]); //第三步写正弦表达式的最简分数表示 couta[0]/s/a[2]/s; return 0; }