教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 政务民生 >

广工 数据结构 设计性实验 有理数四则运算 报告

来源:网络收集 时间:2026-09-02
导读: 《数据结构》设计性实验 题 目 _第2题 有理数四则运算_ 学 院 计算机学院 专 业 年级班别 学 号 学生姓名 指导教师 2013 年 6 月 29 日 一、设计任务要求 问题描述:设计一个可进行有理数运算的演示程序。 基本要求:实现两个有理数相加、相减、相乘、相除以

《数据结构》设计性实验

题 目 _第2题 有理数四则运算_ 学 院 计算机学院 专 业 年级班别 学 号 学生姓名 指导教师

2013 年 6 月 29 日

一、设计任务要求

问题描述:设计一个可进行有理数运算的演示程序。

基本要求:实现两个有理数相加、相减、相乘、相除以及求分子或分母的运算。

测试数据:有读者指定。

选作内容:事项两个有理数相除的运算。 二、主要算法流程图

三、主要代码

int MaxCommonisor(int m,int n)//*求最大公约数*// {

int x,y,z; if(m<n)

{z=m;m=n;n=z;} x=m;y=n; while(y!=0) {

z=x%y; x=y; y=z; }

return(x); }

Exit()//*退出*// {

}

int fraction_Add(int numerator_1,int denominator_1,int numerator_2,int denominator_2)//*分数加法*// {

int o,i,l,k,j;

o=denominator_1*denominator_2;

i=numerator_1*denominator_2+denominator_1*numerator_2; l=MaxCommonisor(o,i); k=o/l; j=i/l; printf("运算结果为%d/%d+%d/%d=%d/%d\n",numerator_1,denominator_1,numerator_2,denominator_2,j,k); }

float Add(float a,float b)///*有理数加法*/ {

float sum;

int numerator_1,denominator_1,numerator_2,denominator_2,j,x; char m;

loop1:printf("******************************* 加 法 运 算 ************************************\n"); printf("\n");

printf(" 1、整数、小数加法 2、分数加法 3、退出 \n"); printf("\n");

printf("********************************************************************************\n");

printf("请选择1、2或3:"); scanf("%d",&x);

if(x!=1&&x!=2&&x!=3) printf("非法输入,请重新输入!"); switch(x) {

case 1: {

printf("请输入第一个数据:"); scanf("%f",&a);

printf("请输入第二个数据:"); scanf("%f",&b); sum=a+b;

printf("运算结果为%f+%f=%f",a,b,sum); getchar();

getchar(); break; }

case 2: {

printf("输入第一个数的分子: "); scanf("%d",&numerator_1);

printf("输入第一个数的分母: "); scanf("%d",&denominator_1);

printf("输入第二个数的分子: "); scanf("%d",&numerator_2);

printf("输入第二个数的分母: "); scanf("%d",&denominator_2);

fraction_Add(numerator_1,denominator_1,numerator_2,denominator_2); break; } case 3: {

Exit(); break; }

default : {

printf("输入有误!\n"); goto loop1;

break; } }

if(x!=3)goto loop1; }

int fraction_Sub(int numerator_1,int denominator_1,int numerator_2,int denominator_2)///*分数减法*/ {

int o,i,l,k,j;

o=denominator_1*denominator_2;

i=numerator_1*denominator_2-denominator_1*numerator_2; l=MaxCommonisor(o,i); k=o/l; j=i/l; printf("运算结果为%d/%d-%d/%d=%d/%d\n",numerator_1,denominator_1,numerator_2,denominator_2,j,k); }

float Sub(float a,float b)//*有理数减法*// {

float result;

int numerator_1,denominator_1,numerator_2,denominator_2,j,x; char m;

loop1:printf("******************************* 减 法 运 算 ************************************\n"); printf("\n");

printf(" 1、整数、小数减法 2、分数减法 3、退出 \n"); printf("\n");

printf("********************************************************************************\n");

printf("请选择1、2或3:"); scanf("%d",&x);

if(x!=1&&x!=2&&x!=3) printf("非法输入,请重新输入!"); switch(x) {

case 1: {

printf("请输入第一个数据:"); scanf("%f",&a);

printf("请输入第二个数据:"); scanf("%f",&b); result=a-b;

printf("%f-%f=%f",a,b,result); getchar(); getchar(); break; }

case 2: {

printf("输入第一个数的分子: "); scanf("%d",&numerator_1);

printf("输入第一个数的分母: "); scanf("%d",&denominator_1);

printf("输入第二个数的分子: "); scanf("%d",&numerator_2);

printf("输入第二个数的分母: "); scanf("%d",&denominator_2);

fraction_Sub(numerator_1,denominator_1,numerator_2,denominator_2); break; } case 3: {

Exit(); break; }

default : {

printf("输入有误!\n"); goto loop1;

break; } }

if(x!=3)goto loop1; }

int fraction_Mul(int numerator_1,int denominator_1,int numerator_2,int denominator_2)//*分数乘法*// {

int o,i,l,k,j;

o=denominator_1*denominator_2; i=numerator_1*numerator_2; l=MaxCommonisor(o,i); k=o/l; j=i/l; printf("运算结果为%d/%d * %d/%d = %d/%d\n",numerator_1,denominator_1,numerator_2,denominator_2,j,k); }

float Mul(float a,float b)//*有理数乘法*// {

float result;

int numerator_1,denominator_1,numerator_2,denominator_2,j,x; char m;

loop1:printf("********** …… 此处隐藏:5093字,全部文档内容请下载后查看。喜欢就下载吧 ……

广工 数据结构 设计性实验 有理数四则运算 报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/977156.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)