易截截图软件、单文件、免安装、纯绿色、仅160KB

憋了一天,最终写出来了的求最大公约数的程序(C)

前天晚上遇到一题,编写程序求出最大公因数(最大公约数),本能的我想起来了数学中求最大公因式的方法,可是在程序实践上
明显的出了问题,两个数要一个一个的进行拆解,然后找到相同的,这根本是一条死路,思索一夜醒来,突然迸发灵感,可以
用两个数进行取余运算,如果余数为零则最大公因数为被除数,不为零则余数为最大公约数,恩,就是这个思路,简单的数据还行,但是遇到15和25之后就出现了问题,按上面思路那么公约数为10,可是实际为5,继续思考,可以用15对10进行取余,yes!就是这们办。
但是问题又出现了,两次可以三次呢?我根本无法预知到底要用几次,所以加个循环。ok。
这是一条漫长的过程,我的时间耗费在那个上面了。所以附加我的程序以表:
/**************************************************
 * Name: gcd.c
 * Purpose: Great comman divisor
 * Author: zimo
 * Date: 01/23/2010
 * ***********************************************/
#include<stdio.h>
int main(void)
{
    int divisor, dividend, result;
    printf("Enter two integers:");
    scanf("%d, %d", &divisor, &dividend);
        if(divisor == 0)
        {
                printf("Greatest common divisor: %d \n",dividend);
        }
        else if(dividend == 0)
        {
                printf("Geratest common divisor: %d \n", divisor);
        }
        else if(divisor >= dividend)
    {
        while(divisor % dividend != 0)
        {
            result = divisor % dividend;
  &nbs


相关文档:

C输入输出

字符输入输出:
aa = getchar(); 
putchar(a); 
 
格式输出:
printf(格式控制, 输出表列);
%d 十进制数  %md m为指定的宽度 若数据位数小于m,则左端补以空格;若大于m,则按实际位数输出
%ld 长整型数据  %mld 指定字段宽度
%o 八进制整数形式  %mo
%x 十六进制整数形式  %m ......

【C/C++】总结常用的函数调用约定

一、函数调用的基本步骤
函数调用大致包括以下几个步骤。
(1)参数入栈:将参数从右向左依次压入系统栈中。
(2)返回地址入栈:将当前代码区调用指令的下一条指令地址压入栈中,供函数返回时继续执行。
(3)代码区跳转:处理器从当前代码区跳转到被调用函数的入口处。
(4)栈帧调整:具体包括:
保存当前栈帧状态 ......

【转】【C\C++语言入门篇】 数组与指针

前面两篇基本把指针给介绍完了,相信大家对指针已经不是那么陌生了。也不会因为指针和数组之间的关系而导致混淆了。大家可能也迫不及待想了解下后来的知识。今天我们就介绍下结构体。
对于结构体,既然叫结构体,形象上我们可以理解其就是一堆数据集合在一起形成一个结构。就比如一个学生的信息包括:学号、姓名、班级、年 ......

【转】【C\C++语言入门篇】 深入指针

再上一篇,我们介绍了基本调试。之前也说了,之所以把调试放在前面讲是因为后面的文章基本都会用到调试。观察我们的程序到底发生了什么。让我们能够直接明了的看清楚问题的本质。本篇将深入一点介绍指针这个让无数初学者畏惧的东西。希望大家再看完本篇之后能对指针有新的认识,之后不再惧怕它。觉得它就那么回事。那下面我 ......

【转】【C\C++语言入门篇】 HelloWorld思考

第一篇文章终于落笔了,本文将从思考的角度去重新认识一下Helloworld。在例子之后会提出不同的问题,引导大家去思考每一句乃至每个细节。同时希望能够让大家以后能够以不断思考不断提问的方式去看待自己的程序。我相信大家会发现很多新的东西,好了切入正题。
我们每学一种新的语言基本都会从helloworld开始,基本每种语言 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号