文档视界 最新最全的文档下载
当前位置:文档视界 › 数据结构长整数四则运算

数据结构长整数四则运算

数据结构长整数四则运算
数据结构长整数四则运算

实习1 1.4长整数四则运算

实习报告

题目:设计一个实现任意长的整数进行加法运算的演示程序。

一、需求分析

1.本演示程序中,利用双向循环链表实现长整数的存储,每个结点含一个整型变量任何整型变量的范围是-(215-1)—(215-1)。在每个结点中仅存十进制数的4位,即不超过9999的非负整数,整个链表表示为万进制数。输入和输出形式按中国对于长整数的习惯,每四位一组,组间用逗号隔开。

2.演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息”之后,由用户在键盘上输入演示程序中规定的运算命令;相应的输入数据(滤去输入数据中的非法字符)和运算结果显示在其后。

3.程序执行的命令包括:

(1)构造链表;(2)输入数据;(3)数据处理;(4)结束

4.测试数据

(1)0;0;应输出0。

(2)-2345,6789;-7654,3211;应输出-1,0000,0000.

(3)-9999,9999;1,0000,0000,0000;应输出9999,0000,0001

(4)1,0001,0001;-1,0001,0001;应输出0。

(5)1,0001,0001;-1,0001,0000;应输出1.

(6)-9999,9999,9999;-9999,9999,9999;应输出-1,9999,9999,9998。

(7)1,0000,9999,9999;1;应输出1,0001,0000,0000。

二、概要设计

struct LinkNode //定义结构体LinkNode

{

int data; //记录每个节点的整数(小于10000)

LinkNode *next; //记录下一个节点的地址

LinkNode *pre; //记录前一个节点的地址

};

class LinkList //定义类LinkList

private:

LinkNode *head0,*head1; //head0,head1分别记录两个整数链表的头指针LinkNode *currptr;

LinkNode *result; //result记录结果链表的头指针

public:

LinkList(); //构造函数,初始化链表

~LinkList(); //析构函数,释放空间

void Creat(string a); //引入字符串,创立两个链表,分别表示两个整数

void Add(); //实现两个整数相加

void Display(); //显示结果

void addtwo(); //节点多的作为被加数,少的作为加数,实现整 //数绝对值

大的加小的

};

void main() //主函数

……

do{

} while(Yes_No=='y'||Yes_No=='Y'); //Yes_No不等于'Y'或'y'时,程序退出

}

三、详细设计

#include

#include

#include

using namespace std;

struct LinkNode

{

int data; //记录每个节点的整数(小于10000)

LinkNode *next; //记录下一个节点的地址

LinkNode *pre; //记录前一个节点的地址

class LinkList

{

private:

LinkNode *head0,*head1; //head0,head1分别记录两个整数链表的头指针LinkNode *currptr;

LinkNode *result; //result记录结果链表的头指针

public:

LinkList(); //构造函数,初始化链表

~LinkList(); //析构函数,释放空间

void Creat(string a); //引入字符串,创立两个链表,分别表示两个整数

void Add(); //实现两个整数相加

void Display(); //显示结果

void addtwo(); //节点多的作为被加数,少的作为加数,实现整 //数绝对值

大的加小的

};

//链表的实现部分

int sum(int n);

LinkList::LinkList() //构造函数,初始化链表

{

head0=new LinkNode;

//申请一个空间记录整数的符号和节点数

head1=new LinkNode;

head0->next=head0;

head0->pre=head0; //初始化链表,建立双向循环链表

head1->next=head1;

head1->pre=head1;

result=new LinkNode;

result->next=result;

result->pre=result;

currptr=NULL;

}

LinkList::~LinkList() //析构函数,释放空间{

LinkNode *p1=head0,*p2=head1,*p3=result;

//三个指针分别指向三条链表的头指针

while(p1!=p1->pre)

{

p1->pre->next=p1->next;

p1->next->pre=p1->pre;

currptr=p1;

p1=p1->next;

delete currptr;

}

while(p2!=p2->pre) //逐个删除节点,释放空间{

p2->pre->next=p2->next;

p2->next->pre=p2->pre;

currptr=p2;

p2=p2->next;

delete currptr;

}

while(p3!=p3->pre)

{

p3->pre->next=p3->next;

p3->next->pre=p3->pre;

currptr=p3;

p3=p3->next;

delete currptr;

}

// delete p1;

// delete p2;

// delete p3;

}

void LinkList::Creat(string a) //引入字符串,创立两

//个链表,分别表示两个整数{

int i=0,j=0,m=0,n=0,k=0,l=0,s=0,w=0;

//i记录字符串,j记录加数节点数;s记录被加数节点数

//w标记字符串中的‘-’号

//k记录字符串中的字符转化为整数的值,l使每个节点记录4位

while(a[m]!=';') m++; //m记录字符串中被加数的字符数

n=m;

while(a[n]!='\0') n++; //n记录字符串的总字符数

if(a[0]=='-')

{

head0->data=(-1); //记录整数符号

w=1;

}

else

{

head0->data=1;

}

for(i=m-1;i>=w;i--)

{

if(a[i]!=',') //把字符转化为整数

{

k+=(a[i]-'0')*sum(l);

l++;

}

if(a[i]==','||i==w)

{

currptr=new LinkNode; //把整数存到双向循环链表中

currptr->data=k;

currptr->next=head0;

currptr->pre=head0->pre;

head0->pre->next=currptr;

head0->pre=currptr;

head0=currptr;

s++; //节点数加1

k=0; //重新初始化k和l

l=0;

}

}

head0->pre->data*=s; //存储整数符号和节点数

//与建第一个整数链表一样,建立第二个整数链表head1

k=0;l=0;

if(a[m+1]=='-')

{

head1->data=(-1);

m++;

}

else

head1->data=1;

for(i=n-1;i>m;i--)

if(a[i]!=',')

{

k+=(a[i]-'0')*sum(l);

l++;

}

if(a[i]==','||i==m+1)

{

currptr=new LinkNode;

currptr->data=k;

currptr->next=head1;

currptr->pre=head1->pre;

head1->pre->next=currptr;

head1->pre=currptr;

head1=currptr;

j++;

k=0;

l=0;

}

}

head1->pre->data*=j;

}

void LinkList::Add() //实现两个整数相加{

LinkNode *temp;

if(abs(head0->pre->data)>abs(head1->pre->data))

//两个整数中,绝对值大的为被加数

addtwo();

else if(abs(head0->pre->data)pre->data))

temp=head0;

head0=head1;

head1=temp;

addtwo();

}

else if(abs(head0->pre->data)==abs(head1->pre->data))

{

int k1,k2;

LinkNode *p=head0,*q=head1;

//如果节点数相同,则判断节点中数值大小

while(p->data==q->data&&p!=head0->pre->pre&&q!=head1->pre->pre) {

p=p->next;

q=q->next;

}

k1=p->data;

k2=q->data;

if(k1>k2)

addtwo();

else

{

temp=head0;

head0=head1;

head1=temp;

addtwo();

}

}

}

void LinkList::addtwo()

//节点多的作为被加数,少的作为加数,实现整数绝对值大的加小的

//默认head0存的整数绝对值比head1大

{

int s=0,m1=head0->data,m2=head1->data;

m1=(head0->pre->data/abs(head0->pre->data)); //head0的符号m2=(head1->pre->data/abs(head1->pre->data)); //head1的符号LinkNode *p=head0->pre->pre,*q=head1->pre->pre;

result->data=head0->pre->data; //存结果的节点数和符号while(q!=head1->pre)

//head0存的整数绝对值比head1大,即head0的节点数大于或等于head1 {

currptr=new LinkNode;

currptr->data=(p->data)*m1+(q->data)*m2+s; //两整数相加

if((m1*m2)>0) //如果符号相同

{

if(abs(currptr->data)-10000>=0) //相加后超过10000,则进位 {

s=currptr->data/10000;

currptr->data=abs(currptr->data)%10000;

}

else //abs(currptr->data)-10000<0,不进位

{

s=0;

currptr->data=abs(currptr->data);

}

}

else if(m1>0&&m2<0)

//符号不同,在此相当于实现两个正整数相减

{

s=0;

if(currptr->data<0) //小于0,向前一位借1 {

currptr->data+=10000;

s=-1;

}

}

else if(m1<0&&m2>0)

//符号不同,在此相当于实现负整数加上正整数

{

s=0;

if(currptr->data>0) //大于0,

{

currptr->data=10000-currptr->data;

s=1;

}

else currptr->data=abs(currptr->data);

}

currptr->next=result; //存入链表

currptr->pre=result->pre;

result->pre->next=currptr;

result->pre=currptr;

result=currptr;

p=p->pre;

q=q->pre;

}

//当head0节点数比head1长时,继续建链

while(p!=head0->pre)

{

currptr=new LinkNode;

currptr->data=p->data*m1+s;

s=currptr->data/10000;

if((m1*m2)>0)

{

if(abs(currptr->data)-10000>=0)

{

s=currptr->data/10000;

currptr->data=abs(currptr->data)%10000;

}

else {s=0;currptr->data=abs(currptr->data);} }

else if(m1>0&&m2<0)

{

s=0;

if(currptr->data<0)

{

currptr->data+=10000;

s=-1;

}

}

else if(m1<0&&m2>0)

{

s=0;

if(currptr->data>0)

{

currptr->data=10000-currptr->data;

s=1;

}

else currptr->data=abs(currptr->data);

}

currptr->data=abs(currptr->data)%10000;

currptr->next=result;

currptr->pre=result->pre;

result->pre->next=currptr;

result->pre=currptr;

result=currptr;

p=p->pre;

}

if(s!=0) //处理相加后,进位问题

{

currptr=new LinkNode;

currptr->data=abs(s);

currptr->next=result;

currptr->pre=result->pre;

result->pre->next=currptr;

result->pre=currptr;

result=currptr;

result->pre->data=m1*(abs(result->pre->data)+1);

}

}

void LinkList::Display() //显示结果

{

LinkNode *p=result;

int FuHao=result->pre->data/abs(result->pre->data);//结果的符号while(p->data==0&&p!=result->pre->pre)

//当运算后前几个节点的数据为0时,不输出

{

p=p->next;

result->pre->data=(abs(result->pre->data)-1)*FuHao;

//结果记录非0节点数

}

cout<data; //首先显示符号和第一个节点中的数

if(abs(result->pre->data)!=1) p=p->next; //判断非0节点数是否为1 while(p!=result->pre->pre) //继续输出

{

cout<<","; //每4位一组,并用‘,’隔开

cout.width(4);

cout.fill('0');

cout<data;

p=p->next;

}

if(p==result->pre->pre&&abs(result->pre->data)!=1)

//显示最后一个节点数据

{

cout<<",";

cout.width(4);

cout.fill('0');

cout<data;

}

cout<

}

int sum(int n) //计算10的乘方

{

int i,s=1;

for(i=1;i<=n;i++)

{

s=s*10;

}

return s;

}

//主函数和其他函数的实现

void main() //主函数

{

cout<<"***********************************************\n";

cout<<"**********欢迎使用任意长整数加法系统***********\n";

cout<<"***********************************************\n";

";

cout<<"\n";

cout<<"在此系统中,可以输入任意长的整数。 |\n";

string ch;

char Yes_No;

do{

cout<<"\n";

cout<<"|输入形式为:(-)**,****,****;(-)*,****,****,****|\n";

cout<<"即符号+数,每4位加一个',',两个数之间用';'隔开 |\n";

cout<<"请输入你要计算的两个数: |\n";

cin>>ch; //输入任意长字符串

LinkList List; //定义链表对象

List.Creat(ch); //把字符串转化为整数,并存到链表中 List.Add(); //实现两个整数相加

List.Display(); //输出结果

cout<<"是否继续计算(Y/N):"; //询问是否继续计算 cin>>Yes_No;

}while(Yes_No=='y'||Yes_No=='Y'); //Yes_No不等于'Y'或'y'时,程序退出

cout<<"***********************************************\n";

cout<< *****************感谢使用本系统!***************\n";

cout<< ***********************************************\n";

;

}

四调试分析

在设计初期采用C语言设计,在编译上出现了好多问题,导致了代码利用率不高并且结构松散,进而采用C++的思想,利用类之后,不仅代码量减少,效率也提高了不少。在编译的时候,程序不能很好地检测出输入形式,如果输入格式不正确,就不能很好地计算出正确结果,对于这一问题,没找到很好地解决办法。

总体来说,这个程序相对简单,但在指针的利用方面,编程的时候出现了一些问题。经过仔细检查与多次修改,成功的解决了指针问题。

五、用户手册

1、本程序的运行环境为DOS操作系统,执行文件为长整数四则运算.exe。

2、进入演示程序后即显示文本方式的用户界面:

3、按照上面要求输入要计算的两个数即可。输入完成后按回车键,将输出计算结果。继续

计算请按Y或y,否则请按N或n。

六、测试结果

七、附录

该程序在同一个文件,即只在.cpp文件里的以实现。

数据结构长整数四则运算(DOC)

实习1 1.4长整数四则运算 实习报告 题目:设计一个实现任意长的整数进行加法运算的演示程序。 一、需求分析 1.本演示程序中,利用双向循环链表实现长整数的存储,每个结点含一个整型变量任何整型变量的范围是-(215-1)—(215-1)。在每个结点中仅存十进制数的4位,即不超过9999的非负整数,整个链表表示为万进制数。输入和输出形式按中国对于长整数的习惯,每四位一组,组间用逗号隔开。 2.演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息”之后,由用户在键盘上输入演示程序中规定的运算命令;相应的输入数据(滤去输入数据中的非法字符)和运算结果显示在其后。 3.程序执行的命令包括: (1)构造链表;(2)输入数据;(3)数据处理;(4)结束 4.测试数据 (1)0;0;应输出0。 (2)-2345,6789;-7654,3211;应输出-1,0000,0000. (3)-9999,9999;1,0000,0000,0000;应输出9999,0000,0001 (4)1,0001,0001;-1,0001,0001;应输出0。 (5)1,0001,0001;-1,0001,0000;应输出1. (6)-9999,9999,9999;-9999,9999,9999;应输出-1,9999,9999,9998。 (7)1,0000,9999,9999;1;应输出1,0001,0000,0000。 二、概要设计 struct LinkNode //定义结构体LinkNode { int data; //记录每个节点的整数(小于10000) LinkNode *next; //记录下一个节点的地址 LinkNode *pre; //记录前一个节点的地址 }; class LinkList //定义类LinkList

整数和小数四则运算的意义和法则练习

整数和小数四则运算的意义和法则练习 一、说一说下面算式表示的意义。 1、654+32表示()。 2、432÷32表示()。 3、4.32×32表示()。 4、432-32.2表示()。 二、直接写得数。 1.17+0.06= 1.89-0.06= 2.3+3= 1.92-0.2= 6.4-2.8= 3-0.6= 0.9×3= 1.3×0.4= 1.8×0.5= 5.2÷13= 0.54÷3= 0.91÷7= 2.06÷0.2= 0.25×0.4= 0.84÷0.12= 27.27÷27= 3.49+0= 0÷578= 48÷0.06= 2.4×5= 三、不计算,在○里填上“>”、“<”或“=”。 0.75÷3○0.75 7.625○7.625÷1.01 0.8×6.9○6.9 1.23×0.3○1 2.3×0.03 758÷1000○758×0.001 6.7×4.8○(6.7×12)×(4.8÷12) 4.78÷0.93○4.78

四、计算下面各题,并且验算。 325+4379 47.5-7.65 18.4×75 587.1÷0.57 五、根据43×78=3354,直接写出下面各题的得数。 43×0.78= 0.43×7.8= 33.54÷0.78= 3354÷0.43= 六、填空。 1、一道减法算式,被减数、减数和差相加的和是156,这道题的被减数是()。 2、一角、二角硬币合计3元6角,两种硬币枚数相等,那么这两种硬币共()枚。 3、两个数相除商17余8,这两个数加上商与余数的总和是927,这两个数分别是()和()。 4、一个数扩大4倍后再增加50,然后缩小2倍,再减去24,得30。这个数是()。 5、两个数相除的商是0.02,如果被除数扩大10倍,除数缩小10倍,那么商是()。 6、□÷18=3……□,要使余数最大(),被除数应该是()。

整数四则混合运算教学设计讲解学习

整数四则混合运算教学设计 一、教学目标 1.知识与技能:认识并掌握不含括号的三步计算混合运算的运算顺序,能说明算式的运算顺序,并正确计算得数;初步学习列综合算式解决三步计算的实际问题。 2.过程与方法:能联系实际问题说明解决间题的计算过程,联系计算过程归纳运算顺序,发展归纳思维,提高运算能力。 3.情感态度与价值观:进一步发展认真严谨、细致计算的学习习惯,树立数学规则意识,培养按规则办事的良好品质。 二、教学重难点 1.重点:不含括号的三步计算混合运算的运算顺序。 2.难点:不含括号的三步计算混合运算的运算顺序。 三、教学过程 (一)导入新课 1.说说下面每组题的运算顺序。 提问1:第(1)组题按怎样的顺序算?指出:只含有加、减法或乘、除法的运算式,从左往右依次计算。 提问2:第(2)组、第(3)组、第(4)组题按怎样的顺序算?指出:乘法和加、减法的混合运算,除法和加、减法的混合运算,要先算乘法或除法,再算加、减法。 2.引人新课。 谈话:我们已经学习过不含括号的两步计算混合运算,并且掌握了运算顺序。今天,就以原来的知识为基础,学习新的混合运算规律。 (二)探究新知,深化新知 1.学习例题。 (l)一位同学到体育用品商店购买象棋和围棋,我们一起来看看在体育用品商店里能知道些什么。 提问:知道哪些条件,要求什么问题?解决这个问题应该先算什么?为什么? 让学生列式解答,教师巡视,指名分步列式的学生板演在黑板上。 检查:解答过程对不对?前两步先算的什么? 指出:要求一共要付多少元,要把3副中国象棋的钱加4副围棋的钱,所以应该先用乘法算中国象棋和围棋各需要多少钱,再用加法算出一共要多少元。 (2)混合运算,学习新知。

新苏教版四年级 整数四则混合运算练习题

整数四则混合运算题 姓名: 40+160÷40 288-144÷18+35 (58+37)÷(64-9×5)95÷(64-45)478-145÷5×6+46 122-36×4÷12+35 85+14×(14+208÷26)21+(327-23)÷19 539-513÷(378÷14) 74-3094÷17÷13 19+(253-22)÷21 50+129×28-42 (23+23)×24-597 (110-10)÷10-10 54-24+14×14 304-275÷(275÷25) (70+10)÷(18-10) 120÷12×18-54 44+15×16-32 (10-100÷10)×11 (53-588÷21)×36 (60+10)÷(17-10) 17+(233-43)÷10 110÷10×10-97

424-437÷19×16 22+(374-10)÷26 (245-11)÷18-11 22-(10+100÷10) (252-14)÷17-10 35-13+10×15 (346-10)÷16-12 215-198÷(121÷11) (45-651÷21)×33 19+192÷12-10 572÷22×23-158 19+56-1224÷34 (714-12)÷27-19 14+(21-19)×14 18-(13+15)÷262 736÷(43-20)×23 (227+11)÷(31-14) 36+19×14-23 828÷23×12-48 18-15+10×18 (31-154÷11)×12 (1369-37)÷37-32 160÷(22-12)×22 357÷21×13-213 985-728÷26×35 (438-39)÷21-12 (20+18)×11-239

四则运算法则

一、整数四则运算法则。 整数加法计算法则: 1)要把相同数位对齐,再把相同计数单位上的数相加; 2)哪一位满十就向前一位进。 整数减法计算法则: 1)要把相同数位对齐,再把相同计数单位上的数相减; 2)哪一位不够减就向前一位退一作十。 整数乘法计算法则: 1)从右起,依次用第二个因数每位上的数去乘第一个因数, 乘到哪一位,得数的末尾就和第二个因数的哪一位对个因数的哪一位对齐; 2)然后把几次乘得的数加起来。(整数末尾有0的乘法:可以先把0前面的数相乘,然后看各因数的末尾一共有几个0,就在乘得的数的末尾添写几个0。) 整数的除法计算法则 1)从被除数的高位起,先看除数有几位,再用除数试除被除数 的前几位,如果它比除数小,再试除多一位数; 2)除到被除数的哪一位,就在那一位上面写上商;(如果哪一位不够商“1”,就在哪一位上商“0”。) 3)每次除后余下的数必须比除数小。

二、小数四则运算法则 (一)小数加、减法的计算法则: 1)计算小数加、减法,先把各数的小数点对齐(也就是把相同数位上的数对齐), 2)再按照整数加、减法的法则进行计算,最后在得数里对齐横线上的小数点,点上小数点。 (得数的小数部分末尾有0,一般要把0去掉。) (二)小数乘法法则: 先按照整数乘法法则算出积,再看因数中一共有几位小数,就从积的右边向左数出几位,点上小数点。 (三)小数的除法运算法则 (1)除数是整数的小数的除法除数是整数的小数除法,可按照以下步骤进行计算: ①先按照整数除法的法则去除; ②商的小数点要和被除数的小数点对齐; ③除到被除数的末尾仍有余数时,就在余数后面添0,再继续除。2)除数是小数的小数除法 除数是小数的小数除法,可按照以下步骤进行计算: ①先把除数的小数点去掉使它变成整数; ②看除数原来有几位小数,就把被除数小数点向右移动相同的几位(位数不够时补0占位);

实验报告长整数四则运算

实验报告:长整数四则运算 实验者:唐怡04120082 题目:设计一个实现任意长的整数进行加法运算的演示程序 一.需求分析 1.本演示程序中,长整数为任意长的带符号的长整数的输入及求加法后输出的长整数形式为每四位一组,组间用逗号隔开,输入以“回车符”为结束标志。 2.程度执行的命令包括:1)构造整数1,2)构造整数2,3)做加法运算,4)结束3.测试数据 (1)0;0;应输出“0” (2)-2345,6789;-7654,3211;应输出“-1,0000,0000” (3)-9999,9999;1,0000,0000,0000;应输出“9999,0000,0001” (4)1,0001,0001;-1,0001,0001;应输出“0” (5)1,0001,0001;-1,0001,0000;应输出“1” (6)-9999,9999,9999;-9999,9999,9999;应输出“-1,9999,9999,9998” (7)1,0000,9999,9999;1;应输出“1,0001,0000,0000”。 二.概要设计 为实现上述程序功能,应以有序表实现长整数的存储,为此,需要抽象数据类型:有序表 1.有序表的抽象数据类型定义为: ADT Dulinklist{ 数据对象:D={ai|ai为带符号整数,1,2,…,n,n>=0} 数据关系:R1={|ai-1,ai属于集合D,ai-1

四年级整数四则混合运算200题

四年级整数四则混合运算200 题 2100-21 X 53+2255 800-(2000-9600 - 8) (488+344) - (202-194) 605X(500-494)-1898 9125-(182+35X 22) 3800-136X 9-798 918 - 9 X (108-99) (2944+864) - (113-79) (5011-43X 85)+3397 816 - (4526-251 X 18) (28+172)- (24+16) 86 X (35+117 - 9) 16X 4+6X 3 24X 4-42- 3 56- 4+72- 8 920-1680- 40- 7 148+3328- 64-75 2100-94+48X 54 4215+(4361-716)- 81 36-720 -(360 - 18) (528+912)X 5-6178 (103-336- 21)X 15 40X48-(1472+328)-5 2940- 28+136X 7 (2886+6618) - (400-346) (154-76)X (38+49) (104+246)X (98- 7) (8645+40X 40)- 5 8080- 1877+1881-3 2300-1122- (21-15) (7353+927)- (801-792) 950-28X 6+666 2500+(360-160- 4) 39- 3+48- 6 7X 6-12X 3 2940- 28X 21 690+47X 52-398 360X 24- 32+730 51+(2304-2042)X 23

长整数的加减运算系统说明文档11003601.

桂林电子科技大学综合设计说明书用纸 《数据结构与算法》 课程设计说明书 题目:长整数的加减运算 学院:计算机科学与工程学院 专业:信息安全 姓名:xxxxxxxx 学号:11003601xx 指导教师:张瑞霞老师

成绩评定标准及成绩 1、能按照格式进行写作,无抄袭现象(10分) 2、报告内容行文通畅,有条理性,无错别字,结构严谨。(10 分) 3、能够按照数据结构课设的格式要求、排版要求和字数要求 等,有需求分析,系统分析,详细设计,关键技术的介绍和参考文献。(10分) 4、在验收过程中,能合理的回答问题(20分) 5、软件能正常运行,实现所提出的功能(40分) 6、软件代码规范性较好(5分) 7、具有自己的创新或特色(5分) 总成绩:

目录 1、前言 (3) 2、需求分析 (4) 2.1.问题描述: (4) 2.2.基本要求: (4) 2.3.更高要求: (4) 2.4.测试数据: (4) 2.5.开发环境 Visual C++6.0(完整绿色版) (5) 3、系统概述 (5) 3.1.关键技术。 (5) 3.2.相关的函数接口 (6) 3.3.功能设计 (7) 4、系统分析 (7) 5、系统的调试与结果 (17) 5.1.调试过程出现的问题以及解决方法 (17) 5.2.成功的测试数据截图 (17) 6、课设小结 (20) 7、参考文献: (21)

1、前言 本系统主要内容是为数据结构长整数加法的实现,所以整个程序是为了实现长整数的加减法运算。设计一个实现任意长的整数间进行四则运算的程序,要求完成长整数的加运算和减运算。长整数的长度没有限制,可以是任意长,正确处理好运算之后的进位和借位。 每个结点中可以存放的最大整数为215-1=32767,才能保证两数相加不会溢出。但若这样存,即相当于按32768进制数存,在十进制数与32768进制数之间的转换十分不方便。故可以在每个结点中仅存十进制数4位,即不超过9999的非负整数,整个链表视为万进制数。 可以利用头结点数据域的符号代表长整数的符号。用其绝对值表示元素结点数目。相加过程中不要破坏两个操作数链表。两操作数的头指针存于指针数组中是简化程序结构的一种方法。不能给长整数位数规定上限。 由于在某些工程上进行加减运算时,有时候需要对很大的长整数进行计算,但是计算机本身提供的数据类型无法保证存在几百位甚至几千位的数字,所以需要设计专门的算法系统对数据进行相应的计算。因此本系统的设计主要任务是:设计一个程序能够实现任意长整数的加减运算的程序,而且能够对一些错误异常进行辨别调整,从而迅速计算出正确无误的结果。程序输入格式是字符串,包含元素的范围是数字,都好,负号以及分号,保存时需要用到双链表将字符串每四位保存在循环链表中的一个结点中,然后在计算出运行结果。 虽然程序有些复杂,但使用方法十分简单,只需按照相关提示进行操作即可,能够为用户的学习和工作带来快捷与方便。

大数据结构课程设计(长整数四则运算)

一、需求分析 1.本程序实现计算任意长的整数的四则运算. 以用户和计算机对话的方式,先后输入数字的最多位数,然后程序就计算并显示出这两个数的运算。 2. 利用双向循环链表现实长整数的存储,每个结点含一个整形变量。输入的形式以回车结束,可以直接输入正数或负数,程序会过滤掉无效的字符。按中国对于长整数的表示习惯,每四位一组,除数字和位于首位置的负号外,其它一切字符都将作为分隔符,连续多个分隔符当一个处理。但不使用分隔符也不影响结果。 3.测试数据(1)0; 0; 输出“0”; (2)-2345,6789; -7654,3211; 输出“-1,000,000”; (3)-9999,9999; 1,0000,0000,0000; 输出“9999,0000,0001”; (4)1,0001,0001; -1,0001,0001; 输出“0”; (5)1,0001,0001; -1,0001,0001; 输出“1”; (6)-9999,9999,9999; -9999,9999,9999; 输出“-1,9999,9999,9998”; (7)1,0000,9999,9999; 1; 输出"1,0001,0000,0000". 二、概要设计 为实现上述程序功能,应以双向循环链表表示长整数。为此,需要定义一个抽象数据类型。 1. 抽象数据类型定义为:

ADT OrderedList{ 数据对象:D={ai|ai∈int,i=1,2,...n, n≥0} 基本操作: init(&a,digit4) 操作结果:构造一个位数是digit4*4长整数。 pass(&a,&b,&c) 初始条件:a,b,c都已存在 操作结果:c等于a和b的和。nep(&a) 初始条件:a已存在。 操作结果:a变为输入参数的相反数。printlong(&a) 初始条件:a已存在。 操作结果:按四位一组,分隔符为","的格式,在屏幕上输出a。ston(&S,&a) 初始条件:a已存在。 操作结果:把字符串形式的长数字赋给a。}ADT OrderedList 2.本程序包含两个模块: 1)主程序模块:V oid main(){ 选择操作: 1:帮助。 2:加法。 3:减法。

整数四则混合运算说课稿(最新版本)

《整数四则混合运算》说课稿 一、教学内容 我今天说课的内容是苏教版教材小学数学四年级上册第七单元《整数四则混合运算》的第一课时 二、教材分析 本节课的教学内容在学生已经初步掌握整数四则运算方法,会列分步算式解答两步计算实际问题的基础上进行教学的。虽然学生也曾学习过一些含有两级运算的两步式题,但这些试题要么是同一级运算,要么是乘加、乘减算式,都是乘法在前,运算顺序都是从左往右的,因此本单元着重教学含有两级运算的,且乘除法在后需要先算乘除法再算加减法的两步式题,书写格式上,则首次要求用递等式显示计算过程。这一内容很重要,是学生进一步学习四则混合运算的基础,为了打破学生的思维定势,所以教材选择具有现实性和趣味性的素材,采取螺旋上升的方式,由浅入深地促使学生理解混合运算顺序,这一内容的学习也为今后的小数、分数混合运算打下的基础。 三、根据课程标准和教学内容并结合学生实际,我认为这节课要达到以下的教学目标: (1)让学生结合解决问题的过程认识综合算式,掌握乘法和加、减法混合运算的顺序,并能正确地脱式计算。 (2)让学生经历由分步列式到用综合算式解决问题的过程,体会可以列综合算式解决两步计算的实际问题,感受解决问题方法的多样化。

(3)让学生在学生的过程中,感受数学与日常生活的密切联系,增强应用数学的意识 四、结合教材的编写和本节课的特点我认为 教学重点:用递等式显示计算过程的格式。 教学难点:掌握乘法和加、减法混合运算的顺序,并能正确地脱式计算。 四、教具准备:教学光盘和课件 五、教学过程 为了体现让学生是学习活动的主体,我以学生的学习为立足点。将设计以下的几个教学环节: 一.复习铺垫 (1)口算练习 (2)说出先算什么,再计算。 560+4×2 20-15÷3 学生在纸上直接进行计算,指名板演,集体订正。 由学生小结两步混合运算的运算顺序。(在没有括号的算式里,有乘、除法和加、减法,要先算乘、除法。) 二.创设情境、导入新课 谈话:很多同学都喜欢下棋,本周兴趣小组要开展棋类活动,老师准备购买一些棋具。 我们一起去看看老师买棋时遇到了什么数学问题: 1、出示主题图。这是一道购物的实际问题,遇到这类问题你马上会

含有中括号的整数四则混合运算练习题

四则混合运算练习540÷﹙30×15÷50﹚ 6×58-﹙174+89﹚ ﹙75+49﹚÷﹙75-44﹚ 25×﹙22+576÷32﹚ 84÷[﹙8+6﹚×2] 42×[169-﹙78+35﹚] 72÷[960÷﹙245-165﹚] 540÷[﹙3+6﹚×2] 180÷[36÷﹙12+6﹚] 75×12+280÷35 48×﹙32-17﹚÷30 ﹙564-18×24﹚÷12 490÷[210÷﹙750÷25﹚] 576÷﹙33+15﹚ ﹙736÷16+27﹚×18 902-17×45 ﹙87+16﹚×﹙85-69﹚ 680+21×15-360 [175-﹙49+26﹚]×23 972÷18+35×19 ﹙29+544÷34﹚×102 26×﹙304-286﹚÷39 756÷[4×﹙56-35﹚] 36+300÷12 848-800÷16×12 ﹙132+68﹚×﹙97-57﹚ 972÷﹙720-21×33﹚ 450÷[﹙15+10﹚×3] ﹙45+38-16﹚×24 500-﹙240+38×6﹚ [64-﹙87-42﹚]×15

﹙7100-137-263﹚÷100 250+240÷8×5 840÷40+40×40 960-720÷8×9 2400÷[1200÷﹙600÷15﹚] 520+22×﹙15+45﹚ 160+740÷20-37 900÷[2×﹙320-290﹚] [492-﹙238+192﹚]×26 972-﹙270+31×9﹚ 600-﹙165+35×3﹚[196+﹙84-12﹚]×5 7100-137-263+300 675-600÷15×12 720÷[﹙187+18﹚÷41] 14×[﹙845-245﹚÷12] [668-﹙132+245﹚]÷97 12×[﹙76+57﹚÷19] 840÷﹙320÷80﹚ ﹙28+32﹚×﹙90-40﹚ 480÷[4×﹙50-40﹚] 72÷36+29×3 320-50×4÷25 12×﹙34+46﹚÷32 ﹙53+47﹚×﹙86-24﹚ 720+34×18-340 ﹙120-54﹚×﹙42+98﹚ [203-﹙25+75﹚]×16 380÷[240÷﹙36÷3﹚] 120÷24-20÷4 900÷﹙120-20×3﹚

含括号整数四则混合运算教案

含括号整数四则混合运算教案 篇一:含小括号的四则混合运算教学设计带小括号的四则混合运算教学设计教学内容:带小括号的四则混合运算教科书71页例2,练一练,连习十一5—7题教学目标:1、使学生理解和掌握含有小括号的混合运算的运算顺序,能正确地进行三步混合运算的计算;2、进一步积累数学学习的经验,感受知识之间的联系,能用三步计算解决相关的实际问题,获得发现数学结论的成功体验;3、激发学生的学习兴趣,发展学生的思维。教学资源:多媒体课件。教学程序:一、复习引入1、谈话:回忆一下,昨天我们学习了什么内容?你能说说在不含括号的混合运算中要怎样算吗?(生答)那么,在含有小括号的混合运算中,我们又该注意些什么呢?今天,我们就一起来研究这一个问题。揭示课题:含有小括号的混合运算(板书)2、课件出示“这个问题怎么算“(370+50)÷7 指名板演二、自主探究1、出示例题:计算300-(120+25×4),说说:这道题有什么样的特征?2、先独立计算,并指名一人板演;3、同座交流:说说自己是按照怎样的顺序进行计算的?4、在班内汇报交流算法;5、小结(指名引导):含有小括号的三步混合运算也要先算小括号里的,在计算中还要遵循先乘除后加减的顺序。三、巩固深化1、完成“练一练” (1)学生独立计算,指名2 人板演;(2)指名板演学生说一说:是按照怎样的顺序进行计算的?(3)集体订正。2、完成练习十一第5 题(1)学生任选其中一组独立进行计算,想想:这一组的三道题有什么联系?同时指名2 人板演。(2)集体订正;(3)分别比较这两组题,说一说:各组中的3 道题目,它们有什么相同和不同的地方?注意说出数字、运算种类相同,运算顺序不同,结果也不同。(4)指出:在含有小括号的两步与三步混合运算中,都要先算小括号里的。3、完成练习

整数四则运算解决问题练习

解决问题练习姓名 1、果园里的苹果树和桃树共有840棵,其中苹果树有15行,每行24棵。如果桃树 有8行,平均每行多少棵? 2、王师傅用3小时加工了105个零件。照这样计算,王师傅再工作5小时一共可以 加工多少个零件? 3、一把椅子售价55元,一张桌子的售价比椅子的2倍还多30元。买一套这样的桌 椅需要多少元? 4、一把椅子售价55元,一张沙发的售价比椅子的7倍还多5元。一把椅子的售价 比一张沙发便宜多少元? 5、一条裤子108元,一件上衣比裤子贵67元,买3套这样的衣服需要多少元? 6、给一个房间的地面贴地砖。如果用长3分米,宽2分米的长方形地砖,160块正 好贴满。如果改用边长是4分米的正方形地砖,需要多少块? 7.为“希望小学”捐图书,三年级捐152本,四年级捐的是三年级的2倍少12本,五年级捐的是三、四年级总和的2倍,五年级捐书多少本?8.公园里有菊花100盆,比月季花少35盆,郁金香是月季花的3倍还多15盆。公园里有郁金香多少盆? 9.水果店运来香蕉180千克,梨120千克,苹果比梨多50千克,西瓜的质量与香蕉和苹果的总质量同样多。运来西瓜多少千克? 10.水果店运来香蕉180千克,橘子是香蕉的2倍,苹果比香蕉、橘子的总数少65千克,运来苹果多少千克? 11.植树节六(1)班种了47棵树,六(2)班比六(1)班少种12棵,六(3)班种的是六(1)、六(2)总数的2倍,六(3)班种树多少棵? 12.修一条长5400米的公路,甲队独修要6天,乙队独修要9天,甲队比乙队平均每天少修多少米? 13.某玩具厂计划30天生产玩具840套,实际24天就完成了,实际比计划每天多生产多少套? 14.幼儿园买来苹果和橘子各10筐,苹果每筐32千克,橘子每筐20千克,买来的苹果比橘子多多少千克?

(完整word版)c++实现任意长整数的四则运算

实验题目:设计一数据结构可处理任意长度的整数 概要设计 1.数据结构的定义 采用双向链表存储任意长整数。双向链表的定义如下: class DblList { private: DblNode *head, *tail; DblNode *current; int sign; public: DblList(); //构造函数 ~DblList(); //析构函数 bool CreatList(string); //生成一个双向链表,存储整数 int GetCount(); //获取整数的长度 void Insert(DblNode *); //从表尾插入一个结点 void InsertFront(DblNode *); //从表头插入 void Clear(); //清除该链表 void operator+(DblList &); //实现两个任意整数的加法 void operator*(DblList &); //实现两个任意整数的乘法 DblList & operator=(DblList &); //重载赋值运算符 int Compare(DblList &); //两个整数的绝对值比较 void Display(); //任意长度整数的标准化输出}; 说明:数据的存储,无外乎顺序或者链表。顺序存储时,定义数组无法实现任意长度,而且需要预设一个maxsize,不是特别的方便。所以采用链式存储方式。而且任意长数据通过字符串输入。在链表的每一个结点中,数据域是在该数位上的数字大小。 2.主要功能模块的功能 ◆任意长整数的输入 ◆任意长整数的标准化输出 ◆两个整数的加法 ◆两个整数的乘法 三.详细设计(主模块流程图)

整数的四则运算

整数的四则运算和巧算 知识点一:加法交换律和结合律 ?加法交换律:两个数相加,交换加数的位置,和不变。用字母表示为:a+b=b+a 。 ?加法结合律:三个数相加,先把前两个数相加,再和第三个数相加,或者先把后两个数相加,再和第一个数相加,和不变。用字母表示为:(a+b)+c=a+(b+c) 。 例1.1:填上适当的数。 184 + 168 + 32 = 184 +() 练习1.2:选出正确答案,将序号填在相应的括号里。 ①41+37+13=41+(37+13)②x+y=y+x ③35+(b+65)=(35+65)+b ④a+b+c=a+c+b ⑤32+45+55=32+(45+55) ⑥m+n+t=n+(m+t) 只应用加法交换律的是()。 只应用加法结合律的是()。 既应用加法交换律,又应用加法结合律的是()。 知识点二:应用加法运算律进行简便计算 ?在连加计算中,当某些加数相加可以凑成整十、整百、整千的数时,运用加

法运算律可使计算简便。 ?口诀:连加计算仔细看,考虑加数是关键。整十、整百与整千,结合起来更简单。交换定律记心间,交换位置和不变。结合定律应用广,加数凑整更简便。 例2.1: 69+75+25 78+(47+22) 387+98(多加要减) 387+102(少加要加) 387﹣98(多减要加) 387﹣102(少减要减) 练习2.2:99+124+201 380+345+120 提高2.3: 9321+4523+972+679+5477+28 9+99+999+9999+99998 知识点三:减法的运算性质 ?减法的运算性质1:一个数连续减去两个数等于这个数减去这两个减数的和。 用字母表示:a-b-c=a-(b+c) ?减法的运算性质2:一个数减去两个数的和等于这个数连续减去和里每个加数。 例3.1:324-58-42 670-25-75 159﹣(59+37) 268﹣(35+68) 加减的规律:(1)先加后减等于先减后加。(2)先减后加等于先加后减。练习3.2:325+41﹣25 268+45﹣68 268﹣45+32 325﹣41+75

任意长整数的四则运算

1题目介绍和功能要求 1.1 课程设计题目要求 【问题描述】: 设计一个实现任意长的整数进行加法运算的演示程序。 【题目内容】: 利用双向循环链表实现长整数的存储,每个结点含一个整形变量。任何整形变量的范围是 -(215- 1)~(215- 1)。输入和输出形式:按中国对于长整数的表示习惯,每四位一组,组间用逗号隔开。 【基本要求】: (1)利用所学知识,设计相应的数据结构; (2)熟练运用开发环境; (3)完成软件的设计与编码; (4)熟练地掌握基本的调试方法。 1.2 题目分析 【需求分析】: (1)本程序实现计算任意长的整数的加法运算. 以用户和计算机对话的方式,即在计算机终端上显示“提示信息”之后,由用户在键盘上输入演示程序中规定的运算命令,然后程序就计算并显示出这两个数的运算。 (2)本演示程序中,数字字符限定为[‘0’~‘9’]和字符‘,’,输入字符可以任意长,输入形式以“回车符”为结束标志,串中字符顺序不限,且允许出现重复字符。 (3)利用双向循环链表现实长整数的存储,每个结点含一个整形变量。输入的形式以回车结束,可以直接输入正数或负数。按中国对于长整数的表示习惯,每四位一组,除数字和位于首位置的负号外,其它一切字符都将作为分隔符,连续多个分隔符当一个处理,但不使用分隔符也不影响结果。

2系统功能模块结构图 2.1 系统功能结构框图 图2.1 系统功能结构图 2.2主要模块的功能说明: (1)主调程序模块: void main() { 初始化; do{ 接受命令; 处理命令; }while(“命令”=”退出”) } (2)双向循环链表处理模块//cmplinklen.h //Creat.h //compare 说明:进行链表的存储和处理 (3)长整数运算模块//add.h // sub.h //imul.h //idiv.h 说明:对长整数进行四则运算 (4)界面模块 //title.h //welcome.h 说明:控制系统运行操作界面

苏教版四年级上册数学整数四则混合运算练习题

苏教版四年级上册数学整数四则混合运算练习题 一、计算下面各题 630÷×1÷30+54×4÷8 186-900÷×250 168-48×16÷8 二、解决问题 1、果园里的苹果树和桃树共有840棵,其中苹果树有15行,每行24棵。如果桃树有8行,平均每行多少棵? 2、王师傅用3小时加工了105个零件。照这样计算,王师傅再工作5小时一共可以加工多少个零件? 3、一把椅子售价55元,一张桌子的售价比椅子的2倍还多30元。买一套这样的桌椅需要多少元? 4、一把椅子售价55元,一张沙发的售价比椅子的7倍还多5元。一把椅子的售价比一张沙发便宜多少元? 5、一条裤子108元,一件上衣比裤子贵67元,买3套这样的衣服需要多少元? 6、给一个房间的地面贴地砖。如果用长3分米,宽2分米的长方形地砖,160块正好贴满。如果改用边长是4分米的正方形地砖,需要多少块? 1120-÷ 100×[÷5][+3]×60 200÷10+120×11516- 2500-791÷7×[150-3÷]×10

1.为“希望小学”捐图书,三年级捐152本,四年级捐的是三年级的2倍少12本,五年级捐的是三、四年级总和的2倍少12本,五年级捐书多少本? 2.公园里有菊花100盆,比月季花少35盆,郁金香是菊花和月季花总数的3倍还多15盆。公园里有郁金香多少盆? 3.水果店运来香蕉180千克,梨120千克,苹果比梨多50千克,西瓜的质量与香蕉和苹果的总质量的和同样多。运来西瓜多少千克? ÷478×10+4228÷7 1980-00÷[25×] 324÷9+305÷55× 480-[48÷+24]×15 4.水果店运来香蕉180千克,橘子是香蕉的2倍,苹果比香蕉、橘子的总数少65千克,运来苹果多少千克? 5.植树节六班种了47棵树,六班比六班少种12棵,六班种的是六、六总数的2倍,六 班种的是六班的2倍少34棵。六班种树多少棵? 6.修一条长5400米的公路,甲队独修要6天,乙队独修要9天,甲队比乙队平均每天少修多少米? 288+25×27× ×50 ÷4[×200-37]÷37

整数四则运算(1)

整数、小数四则运算 姓名:班级: 一、简算 (1)72×156-56×72 (2)0.97× 6.8- 0.47× 6.8 (3)0.25 ×0.9×4 (4)71×99 (5)1.97 + 4.7 +1.3 (6)3755 +2996 (7)1864 + 997 (8)8439 +1001 (9)8.04 + 1.02 +0.96 (10)4.3 +1.02- 0.3

(11)4 ×428 ×25 (12)8× 763 ×125 (13)25 ×7 ×4 ×11 (14)216 + 384 + 404+796 (15)21.35 + 18.64 + 11.65 (16)1024-281- 219 (17)84.67 -(14.67+15.3)(18)888 +999 (19)446 +295 (20)1500 -297 (21)299×101 (22)25 × 32 × 125

(23)709×99+709 (24)(25+125)× 8 (25)(88× 125+ 125 ×12)× 8 (26)93× 51+ 51+ 51× 2 (27)306× 51÷ 17 (28)0.25× 48 (29)9300÷ 5÷ 6 (30)(16.8+14.7)÷0.7 (31)10.89 × 10.69 -0.69 ×10.89

二、脱式计算 (1)32÷32+0÷32+32×1 (2)40×(857+10010÷70-195) (3){26 ×(6 -2. 5)÷ 0 5 -25} ×0 2 (4)2.5+1.5×{(6.25-0.5×12.5)÷5}

长整数四则运算题目

第4章课程设计 4.1 课程设计概述 课程设计是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。通常,课程设计题目中的问题比平时的习题复杂得多,也更接近实际。实习着眼于原理与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变“活”,起到深化理解和灵活掌握教学内容的目的。平时的练习较偏重于如何编写功能单一的“小”算法,而课程设计是软件设计的综合训练,包括问题分析,总体结构设计,用户界面设计,程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。此外,还有很重要的一点是:机器是比任何教师都严厉的检查者。 为了达到上述目的,本学期的数据结构课程设计列出了十余个题目供选做。训练重点在于基本的数据结构,而不强调面面俱到。一个课程设计题目可能涉及多个知识点。根据题目的基本要求,每个题目的题号之后标有难度系数。如果选做了题目的扩充内容,则视完成情况酌情增加难度系数。 每个课程设计题目采取了统一的格式,由问题描述、基本要求、测试数据、实现提示和选做内容等五个部分组成。 问题描述旨在为学生建立问题提出的背景环境,指明问题“是什么”。 基本要求则对问题进一步求精,划出问题的边界,指出具体的参量或前提条件,并规定该题的最低限度要求。 测试数据部分旨在为检查学生上机作业提供方便。在完成课程设计题目时,应自己设计完整和严格的测试方案,当数据输入量较大时,提倡以文件形式向程序提供输入数据。 在实现提示部分,对实现中的难点及其解法思路等问题作了简要提示。 选做部分向那些尚有余力的学生提出了更严峻的挑战,同时也能开拓其他学生的思路,在完成基本要求时就力求避免就事论事的不良思想方法,尽可能寻求具有普遍意义的解法,使得程序结构合理,容易修改扩充。 不难发现,这里与传统的做法不同,题目设计得非常详细。会不会限制学生的想象力,影响创造力的培养呢?回答是:软件发展的一条历史经验就是要限制程序设计者在某些方面的创造性,从而使其创造能力集中地用到特别需要创造性的环节之上。课程设计题目本身就给出了问题说明和问题分解求精的范例,使学生在无形中学会模仿,它起到把学生的思路引上正轨的作用,避免坏结构程序和坏习惯,同时也传授了系统划分方法和程序设计的一些具体技术,保证实现预定的训练意图,使某些难点和重点不会被绕过去,而且也便于教学检查。题目的设计策略是:一方面使其难度和工作量都较大,另一方面给学生提供的辅助和可以模仿的成分也较多。当然还应指出的是,提示的实现方法未必是最好的,学生不应拘泥于此,而应努力开发更好的方法和结构。 经验表明,如果某题的难度略高于自己过去所对付过的最难题目的难度,则选择此题能够带来最大的收益。切忌过分追求难题。较大的题目,或是其他题目加上某些选做款项适合于多人合作。 4.2 课程设计时间和内容 数据结构课程设计通常在数据结构课程后段启动,在课程结束后,有一周时间作最后实现、调试和撰写设计报告。

四年级整数四则混合运算200题

四年级混合运算200题练习2100-21×53+2255(103-336÷21)×15 800-(2000-9600÷8) 40×48-(1472+328)÷5 (488+344)÷(202-194) 2940÷28+136×7 605×(500-494)-1898 (2886+6618)÷(400-346) 9125-(182+35×22) (154-76)×(38+49) 3800-136×9-798 (104+246)×(98÷7) 918÷9×(108-99) (8645+40×40)÷5 (2944+864)÷(113-79) 8080-1877+1881÷3 (5011-43×85)+3397 2300-1122÷(21-15) 816÷(4526-251×18) (7353+927)÷(801-792) (28+172)÷(24+16) 950-28×6+666

86×(35+117÷9) 2500+(360-160÷4) 16×4+6×3 39÷3+48÷6 24×4-42÷3 7×6-12×3 56÷4+72÷8 2940÷28×21 920-1680÷40÷7 690+47×52-398 148+3328÷64-75 360×24÷32+730 2100-94+48×5451+(2304-2042)×23 4215+(4361-716)÷81(247+18)×27÷25 36-720÷(360÷18)1080÷(63-54)×80 (528+912)×5-61788528÷41×38-904 264+318-8280÷69(174+209)×26- 9000

整数四则混合运算练习题[1]

一、填空。 1.( )法、( )法、( )法和( )法统称四则运算。 2.在一个算式里只有加、减法或只有乘除法的运算,应( )依次计算,既有加法又有乘除法的运算应先算( ),再算( ),有括号的要先算( )里面的,再算( )外面的。 3.40减去40除以40的商,所得的差再剩以40,结果是( )。 二、脱式计算。(能够简便运算的要简便运算) (1) 50+160÷40 (2) 120-144÷18+35 (3)347+45×2-4160÷52 (4)(58+37)÷(64-9×5)(5) 95÷(64-45)(6)178-145÷5×6+42 (7)85+14×(14+208÷26)(8)(284+16)×(512-8208÷18)(9)(58+37)÷(64-9×5)(10)21+(327-23)÷19(11)539-513÷(378÷14)(12)34-3094÷17÷13 (13)19+(253-22)÷21(14)50+20×28-42 (15)(23+23)×24-597 (16)(110-10)÷10-10 (17)45-24+14×14(18)304-275÷(275÷25)(19)(70+10)÷(18-10) (20)120÷12×18-54 (21)44+16×15-32 (22)(10-100÷10)×11(23)(53-588÷21)×36(24)(60+10)÷(17-10) (25)17+(233-43)÷10(26)100÷10×10-60 (27)424-475÷19×16 (28)22+(374-10)÷26(29)(245-11)÷18-11 (30)22-(10+100÷10) (31)(252-14)÷17-10 (32)35-13+10×15(33)(346-10)÷16-12 (34)215-198÷(121÷11)(35)(45-651÷21)×33(36)19+192÷12-10 (37)572÷22×23-158 (38)19+56-1224÷34(39)(714-12)÷27-19 (40)14+(21-19)×14(41)18-(13+15)÷262(42)736÷(43-20)×23 (43)(227+11)÷(31-14) (44)36+19×14-23 (45)828÷23×12-48 (46)18-15+10×18(47)(31-154÷11)×12(48)(1369-37)÷37-32 (49)160÷(22-12)×22(50)357÷21×13-213 (51)985-728÷26×35 (52)(438-39)÷21-12 (53)(20+18)×11-239 (54)(639-71×9)÷167(55)12520÷8×(121÷11)(56)(2010-906)×(65+15)(57)(10800-800×4)÷4(58)100÷25×(100÷25) (59)54÷18+41×3(60)16×5-80÷16 (61)640+360÷60+40(62)5×(825-115÷23)(63)21×(376-376÷8)(64)(143+429÷13)×24 (65)396+126÷18-19 (66)240-240÷15×4 (67)(7225-104×15)÷55 (68)78×50-1440÷12 (69)3856÷16+85×16 (70)4000÷(16+832÷13)(71)(326+95×25)÷37 (72)(7236÷18-228)×28 (73)(4275-24×75)÷25

相关文档