`
xieting0911
  • 浏览: 6157 次
  • 性别: Icon_minigender_2
  • 来自: 南京
社区版块
存档分类
最新评论

C程序设计的常用算法汇编1

 
阅读更多
一、简单数值类算法
此类问题都要使用循环,要注意根据问题确定循环变量的初值、终值或结束条件,更要注意用来表示计数、和、阶乘的变量的初值。
1、  求阶乘    
下列程序用于求n的阶乘.在累乘之前,
一定要将用于存放乘积的变量的值初始化为1.
long func(int n)
{
  int i;
  long t=1;
  for(i=2;i<=n;i++)
    t*=i;
  return t;
}
printf("\n");
}

2、求回文数的函数
int  hws(int  a)
{int c=0;
 while(a>0)
 { c=c*10+a%10;    
   a/=10;
}
 return(c);
}

3、  整数拆分问题:把一个整数各个位上的数字存到数组中
(1)确定3位数                                   (2)不确定数字位数,
利用数组存储数字            利用变量存储数字               数组定义足够大
int  split(int  n,  int  a[10 ])
{int  i;
 for(i=0;n!=0; i++)
  { a[i]=n%10;
    n=n/10;
  }
return  i;  /*返回数字个数*/
}


#define  N   3  
a=n/100;
b=n/10%10;
c=n%10;
viod split(int  n,  int  a[ ])
{int i;
 for(i=N-1;n!=0; i--)
  { a[i]=n%10;
    n=n/10;
  }
}

4、求整数的因子之和
long  factor(int  n)
 {int i; 
  long   sum=0;
  for(i=1;i<=n;i++)
   if(n%i= =0)
      sum+=i;
  return sum;
}

注意:因子包括1和自身。
二、求两个整数的最大公约数、最小公倍数

分析:求最大公约数的算法为辗转相除法。(最小公倍数=两个整数之积/最大公约数)
求最大公约数的算法步骤:
(1) 对于已知两数m,n,使得m>n;
(2) m除以n得余数r;
(3) 若r=0,则n为求得的最大公约数,算法结束;否则执行(4);
(4) m←n,n←r,再重复执行(2)。
例如: 求 m=14 ,n=6 的最大公约数. m n r
14 %6= 2
6 %2= 0
void main()
{ int nm,r,n,m,t;
printf("please input two numbers:\n");
scanf("%d,%d",&m,&n);
nm=n*m;
if (m<n)
{ t=n; n=m; m=t; }
r=m%n;
while (r!=0)
{ m=n; n=r; r=m%n; }
printf("最大公约数:%d\n",n);
printf("最小公倍数:%d\n",nm/n);
}

将其写成一函数,返回最大公约数。
int gcd(int m,int n)
{  int t,r;
   if(m<n) { t=m;m=n;n=t; }
   r=m%n;
   while(r!=0)
   { m=n;   n=r;   r=m%n;   }
   return n;
}

如果求最小公倍数,其函数形式稍作调整:
int gcd(int m,int n)
{  int a=m, b=n;
int t,r;
   if(m<n) { t=m;m=n;n=t; }
   r=m%n;
   while(r!=0)
   { m=n;   n=r;   r=m%n;   }
   return (a*b)/n;
}
分享到:
评论

相关推荐

    单片机汇编语言及程序设计

    在进行应用汇编语言程序设计时,需要先确定合适的算法,良好的算法能提高程序效率。此外,画出程序框图有助于理解程序流程。在单片机编程中,定点数运算是一个常见任务,定点数分为两类:小数点固定的数值,可以是...

    FORTRAN算法汇编

    这个"FORTRAN算法汇编"集合可能包含了各种FORTRAN编写的程序和算法,旨在帮助程序员和科研人员解决实际问题。 FORTRAN语言最初于1957年由IBM公司开发,其设计目标是简化数值计算和科学编程。FORTRAN语法简洁,对于...

    Intel汇编语言程序设计 第四版

    本书全面细致地讲述了汇编语言程序设计的各个方面。从微处理器体系结构、工作机制到指令集;从最基本的编译器链接器的使用到高级过程、结构和宏的使用;从用纯汇编编写程序到用VC++,BC++等最新编译器与汇编的混合...

    Intel汇编语言程序设计

    Intel汇编语言程序设计是一门面向对操作系统基础、微处理器体系结构和程序设计感兴趣的读者的课程。它不仅覆盖了基本的汇编语言编程,还深入探讨了Intel处理器架构,尤其是32位汇编语言应用的程序设计。在这一领域内...

    汇编 子程序设计 阶乘

    在汇编语言编程中,子程序设计是一种常用的技术,它将复杂的任务分解为一系列可复用的函数。在本实验报告中,重点讨论了如何利用递归子程序来计算阶乘,这是一种高效的算法设计方法。递归子程序是指在执行过程中会...

    算法与程序设计会考复习知识点.doc

    算法与程序设计会考复习知识点 以下是从给定的文件中生成的相关知识点: 计算机解决问题的基本过程 计算机解决问题的基本过程包括:分析问题、设计算法、编写程序、运行和调试程序、问题解决。这些步骤都是计算机...

    数字电子琴程序设计(用汇编语言编写)

    ### 数字电子琴程序设计(用汇编语言编写) #### 概述 本文将详细介绍一个基于51单片机的电子琴程序设计案例,该程序采用汇编语言编写,适用于初学者了解电子琴的基本工作原理及其编程方法。通过本案例的学习,...

    第1章程序设计与算法.pptx

    程序设计与算法是计算机科学的基础,它涉及到如何利用计算机解决问题的方法和步骤。程序是一系列有序指令的集合,这些指令由程序员编写,目的是让计算机执行特定的任务。程序设计语言是用来编写程序的工具,它们分为...

    程序设计的基本方法汇编语言描述

    汇编语言程序设计的基本步骤包括分析问题、确定算法、绘制流程图、分配存储空间、编写程序、静态检查以及上机调试。 【顺序程序设计】 顺序程序设计是最基础的编程结构,程序按照语句的顺序逐条执行,没有分支和...

    《汇编语言与程序设计》课后习题答案

    《汇编语言与程序设计》是一门深入计算机底层运行机制的重要课程,主要研究如何用机器可识别的语言编写程序。汇编语言是介于高级语言和机器语言之间的一种编程语言,它将每一条指令对应到机器码,使得程序员能更直观...

    项目4汇编语言程序设计.ppt

    "项目4汇编语言程序设计" 程序设计是计算机领域中一个非常重要的概念,它是指按照特定的规则,把特定的功能语句和基本结构按照特定的顺序排列起来,形成一个有特定功能的程序。程序设计=结构+算法,程序设计就像盖...

    汇编语言程序设计课件

    【汇编语言程序设计课件】是华中科技大学开设的一门课程,主要针对IBM-PC186架构的宏汇编语言进行深入讲解。汇编语言是计算机科学的基础,它是直接对应于机器指令集的编程语言,每一个指令都与硬件操作紧密相连。这...

    汇编程序设计题--上机题

    【汇编程序设计题--上机题】 汇编语言是一种低级编程语言,它与机器指令密切相关,用于编写操作系统、设备驱动程序等底层程序。在本题中,我们将通过一系列的上机实验来掌握汇编语言程序设计的基本技能。 ### 第一...

    汇编语言程序设计1

    综上所述,8086汇编语言程序设计实验不仅要求学生掌握汇编语言编程技能,还要求学生综合运用数据结构、算法设计、界面设计等计算机科学基础知识,以实现一个功能完备的计算器程序。通过对该实验的学习,学生可以...

    Intel汇编语言程序设计(第五版)_中文版

    从给定的信息来看,主要关注的是“Intel汇编语言程序设计(第五版)_中文版”这一书籍,这表明我们正在探讨的主题是Intel架构下的汇编语言编程。Intel汇编语言是一种低级编程语言,主要用于直接控制计算机硬件,尤其是...

    imb-pc汇编程序设计答案

    在IBM-PC汇编语言程序设计的学习过程中,掌握汇编程序设计是至关重要的。沈美明和温冬蝉合著的《IBM-PC汇编语言程序设计(第二版)》是一本广泛使用的教材,它深入浅出地介绍了IBM个人计算机上的汇编语言编程。课后...

    第四章汇编语言程序设计.ppt

    在汇编语言程序设计中,我们可以使用汇编语言来实现各种算法和数据结构,例如两个无符号双字节数相加的程序。该程序包括 CLR C 指令、MOV 指令、AD1 循环等。 汇编语言程序设计是一种低级语言编程的基本技能,对于...

    东北大学汇编语言第05章_顺序结构程序

    本章“东北大学汇编语言第05章_顺序结构程序”主要探讨了程序设计的基础知识,包括程序设计步骤、流程图的应用以及汇编语言中的基本控制结构和常用指令。 5.1 程序设计的步骤是程序开发的核心流程,包括: 1. 分析...

Global site tag (gtag.js) - Google Analytics