C语言编程问题:分数计算器分数运算.编写一个程序,首先在控制台窗口打印分数四则运算菜单,然后根据用户选择分别输入两个分数的分子和分母,在控制台窗口显示这两个分数经过所选运算
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/28 10:30:11
![C语言编程问题:分数计算器分数运算.编写一个程序,首先在控制台窗口打印分数四则运算菜单,然后根据用户选择分别输入两个分数的分子和分母,在控制台窗口显示这两个分数经过所选运算](/uploads/image/z/6845587-43-7.jpg?t=C%E8%AF%AD%E8%A8%80%E7%BC%96%E7%A8%8B%E9%97%AE%E9%A2%98%EF%BC%9A%E5%88%86%E6%95%B0%E8%AE%A1%E7%AE%97%E5%99%A8%E5%88%86%E6%95%B0%E8%BF%90%E7%AE%97.%E7%BC%96%E5%86%99%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%2C%E9%A6%96%E5%85%88%E5%9C%A8%E6%8E%A7%E5%88%B6%E5%8F%B0%E7%AA%97%E5%8F%A3%E6%89%93%E5%8D%B0%E5%88%86%E6%95%B0%E5%9B%9B%E5%88%99%E8%BF%90%E7%AE%97%E8%8F%9C%E5%8D%95%2C%E7%84%B6%E5%90%8E%E6%A0%B9%E6%8D%AE%E7%94%A8%E6%88%B7%E9%80%89%E6%8B%A9%E5%88%86%E5%88%AB%E8%BE%93%E5%85%A5%E4%B8%A4%E4%B8%AA%E5%88%86%E6%95%B0%E7%9A%84%E5%88%86%E5%AD%90%E5%92%8C%E5%88%86%E6%AF%8D%2C%E5%9C%A8%E6%8E%A7%E5%88%B6%E5%8F%B0%E7%AA%97%E5%8F%A3%E6%98%BE%E7%A4%BA%E8%BF%99%E4%B8%A4%E4%B8%AA%E5%88%86%E6%95%B0%E7%BB%8F%E8%BF%87%E6%89%80%E9%80%89%E8%BF%90%E7%AE%97)
C语言编程问题:分数计算器分数运算.编写一个程序,首先在控制台窗口打印分数四则运算菜单,然后根据用户选择分别输入两个分数的分子和分母,在控制台窗口显示这两个分数经过所选运算
C语言编程问题:分数计算器
分数运算.编写一个程序,首先在控制台窗口打印分数四则运算菜单,然后根据用户选择分别输入两个分数的分子和分母,在控制台窗口显示这两个分数经过所选运算后的分子和分母.要求程序应能处理用户输入分母为0的情况,同时要能够多次计算,直到用户输入退出为止,输出结果要输出最简分数形式.运行效果如下.
分数运算器:
------------------------------------------
\x09[1] 加法\x09[2] 减法
\x09[3] 乘法\x09[4] 除法
\x09[0] 退出
------------------------------------------
请输入你选择的菜单(0--4):a
Error:菜单中没有本选项,请重新输入!
请输入你选择的菜单(0--4):1
请输入第一个分数的分子和分母:1 6
请输入第二个分数的分子和分母:1 3
1/6 + 1/3 = 1/2
请用C语言编写这个题目的程序.(不要用C++写)
C语言编程问题:分数计算器分数运算.编写一个程序,首先在控制台窗口打印分数四则运算菜单,然后根据用户选择分别输入两个分数的分子和分母,在控制台窗口显示这两个分数经过所选运算
#include<stdio.h>
int fm,f;
int tf(int a,int b,int m,int n)
{
\x05int i,s;
\x05for(i=b>n?b:n;;i++)
\x05{
\x05\x05if(i%b==0&&i%n==0)
\x05\x05\x05break;
\x05}
\x05fm=i;
\x05if(f)
\x05\x05s=(i/b*a+i/n*m);
\x05else
\x05\x05s=(i/b*a-i/n*m);
\x05return s;
}
int hj(int t,int s)
{
\x05int i;
\x05for(i=t<s?t:s;i>=1;i--)
\x05{
\x05\x05if(t%i==0&&s%i==0)
\x05\x05{
\x05\x05\x05t/=i;
\x05\x05\x05s/=i;
\x05\x05}
\x05}
\x05fm=s;
\x05return t;
}
main()
{
\x05int a,b,m,n,t,s,fz,r,c,ff=0;
\x05char k;
\x05printf("------------------------------------------\n");
\x05printf("\x05[1] 加法\x05[2] 减法\n");
\x05printf("\x05[3] 乘法\x05[4] 除法\n");
\x05printf("\x05[0] 退出\n");
\x05printf("------------------------------------------\n");
\x05do{
\x05\x05printf("请输入你选择的菜单(0--4):");
\x05\x05k1:
\x05\x05scanf("%d",&c);
\x05\x05if(c<0||c>4)
\x05\x05{\x05printf("菜单中没有本选项,请重新输入!");
\x05\x05\x05fflush(stdin);
\x05\x05\x05goto k1;
\x05\x05\x05getchar();
\x05\x05}
\x05\x05printf("请输入第一个分数的分子和分母:");
\x05\x05scanf("%d %d",&a,&b);
\x05\x05printf("请输入第二个分数的分子和分母:");
\x05\x05scanf("%d %d",&m,&n);
\x05\x05switch(c)
\x05\x05{
\x05\x05\x05case 0:return 0;break;
\x05\x05\x05case 1:f=1;t=tf(a,b,m,n);s=fm;k='+';break;
\x05\x05\x05case 2:f=0;t=tf(a,b,m,n);s=fm;k='-';break;
\x05\x05\x05case 3:t=a*m;s=b*n;k='*';break;
\x05\x05\x05case 4:t=a*n;s=b*m;k='/';break;
\x05\x05}
\x05\x05fz=hj(t,s);
\x05\x05printf("%d/%d%c%d/%d=%d/%d\n",a,b,k,m,n,fz,fm);
\x05}while(1);
}
自己编的!好累!