首页 > 编程语言 >C语言-常用算法-23

C语言-常用算法-23

时间:2024-07-22 13:25:50浏览次数:16  
标签:fm1 23 int fz1 u1 u2 算法 C语言 void

 题目:

分数计算器程序

源代码:

#include <stdio.h>
int gys(int x,int y)
{
    return y?gys(y,x%y):x;
}
int gbs(int x,int y)
{
    return x/gys(x,y)*y;
}
void yuefen(int fz,int fm)
{
    int s = gys(fz,fm);
    fz /= s;
    fm /= s;
    printf("结果是: %d/%d",fz,fm);
}
void add(int a,int b,int c,int d)
{
    int u1,u2,v=gbs(b,d),fz1,fm1;
    u1 = v / b * a;
    u2 = v / d * c;
    fz1 = u1 + u2;
    fm1 = v;
    yuefen(fz1,fm1);
}
void mul(int a,int b,int c,int d)
{
    int u1,u2;
    u1 = a * c;
    u2 = b * d;
    yuefen(u1,u2);
}
void sub(int a,int b,int c,int d)
{
    int u1,u2,v=gbs(b,d),fz1,fm1;
    u1=v/b*a;
    u2=v/d*c;
    fz1=u1-u2;
    fm1=v;
    yuefen(fz1,fm1);
}
void div(int a,int b,int c,int d)
{
    int u1,u2;
    u1 = a * d;
    u2 = b * c;
    yuefen(u1,u2);
}
int main()
{
    char op;
    int a,b,c,d;
    scanf("%ld,%ld,%c,%ld,%ld",&a,&b,&op,&c,&d);
    switch(op)
    {
        case '+':add(a,b,c,d);break;
        case '*':mul(a,b,c,d);break;
        case '-':sub(a,b,c,d);break;
        case '/':div(a,b,c,d);break;
    }
    return 0;
}

演示效果:


如果朋友你感觉文章的内容对你有帮助,可以点赞关注文章和专栏以及关注我哈,嘿嘿嘿我会定期更新文章的,谢谢朋友你的支持哈

标签:fm1,23,int,fz1,u1,u2,算法,C语言,void
From: https://blog.csdn.net/little_startoo/article/details/140437809

相关文章

  • C语言-常用算法-22
    题目:分鱼问题A,B,C,D,E五个人在某天合伙去捕鱼,分鱼时,A先将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份;B第二个醒来,也将鱼分为五份,把多余的一条扔掉,拿走自己的一份;C,D,E依次醒来,也按同样的方式拿鱼,问他们至少捕了多少鱼源代码:#include<stdio.h>intsub(intn){if(n......
  • 《剑指JVM》——第8章——类变量和常量——方法区4——运行时数据区篇23
    ......
  • ScaleDet:AWS 基于标签相似性提出可扩展的多数据集目标检测器 | CVPR 2023
    论文提出了一种可扩展的多数据集目标检测器(ScaleDet),可通过增加训练数据集来扩大其跨数据集的泛化能力。与现有的主要依靠手动重新标记或复杂的优化来统一跨数据集标签的多数据集学习器不同,论文引入简单且可扩展的公式来为多数据集训练产生语义统一的标签空间,通过视觉文本对齐进......
  • 代码随想录算法训练营第36天 | 动态规划基础2:62.不同路径、63.不同路径 II
    62.不同路径https://leetcode.cn/problems/unique-paths/submissions/548656029/代码随想录https://programmercarl.com/0062.不同路径.html63.不同路径IIhttps://leetcode.cn/problems/unique-paths-ii/description/代码随想录https://programmercarl.com/0063.不同路径......
  • (算法)合并两个有序链表————<递归>
    1.题⽬链接:21.合并两个有序链表 2.题⽬描述: 3.解法(递归):算法思路:1.递归函数的含义:交给你两个链表的头结点,你帮我把它们合并起来,并且返回合并后的头结点;2.函数体:选择两个头结点中较⼩的结点作为最终合并后的头结点,然后将剩下的链表交给递归函数去处理;3.递归出......
  • (算法)汉诺塔————<递归>
    1.题⽬链接:329.矩阵中的最⻓递增路径 2.题⽬描述:3.解法(暴搜->记忆化搜索):算法思路:这是⼀道递归⽅法的经典题⽬,我们可以先从最简单的情况考虑:•假设n=1,只有⼀个盘⼦,很简单,直接把它从A中拿出来,移到C上;•如果n=2呢?这时候我们就要借助B了,因为⼩盘⼦必须时刻都在⼤盘......
  • 数据结构与算法从淬体到元婴day04之堆
    堆堆的定义堆是一种特殊的完全二叉树结构,其每个节点的值都遵循一定的堆属性。堆在物理上是通过数组实现的,逻辑上则表现为树形结构。堆的性质堆总是一棵完全二叉树。堆中某个节点的值总是不大于(最大堆)或不小于(最小堆)其父节点的值。将根节点最大的堆称为最大堆或大根堆,根节点......
  • 学习C语言(6)
      整理今天的学习内容1. 数组的概念数组是一组相同类型元素的集合,数组元素个数不能为02.一维数组的介绍(1)数组创建语法type  arr_name[常量值] ↑       ↑      ↑类型   数组名 指定数组大小(2)数组的初始化完全初始化:如:int ......
  • (思瑞浦)TPF141-TR SPT23-6 全高清复合视频滤镜驱动程序
    产品描述TPF141是一款专为消费者应用而设计的、高性能、低成本的视频重建滤波器,它完美地结合了优异的视频性能和低功耗。它包含了一个全高清(FHD)滤波器通道。该滤波器具有六阶巴特沃斯特性,可用于数模转换器(DAC)重建滤波器或模数转换器(ADC)抗混叠滤波器。可以绕过FHD过滤器以支持......
  • 算法原理-Music
    应用DOA估计原理MUSIC算法,叫做多信号分类算法(MultipleSignalClassification),是一种基于特征结构的高分辨率DOA算法。该算法利用了信号子空间和噪声子空间正交性的特点,构造噪声空间然后通过谱峰搜索来检测信号的波达方向。需要注意的是,该算法有一个前提,即各个入射信号之间互......