晚生才疏学浅,初来乍到,有很多问题,望与大家一起学习进步!


/***************************************************************************
* 2013年9月28
* All Rights Reserved,西华师大计算机学院
* 作  者:曾舜尧
* 问题描述:从文件中读取两个数,计算两个数间隔内的约数最多的那个数(教材 Page 9)
* 算法分析:穷举法,对于给定的2个正整数,a<=b,计算a和b之间约数最多的数.
* 数据输入:从文件读取2个正整数啊、和b.
* 数据输出:若找到的a和b之间约数个数最多的数是result,则将div(约数个数)输出到文件
* 备注:因不会文件操作,此程序采用键盘输入
**************************************************************************/
#include "stdio.h"
int searchDivisor(int a)
{
    int count=0;
    for(int i=1;i<=a;i++)
    {
        if(0==a%i)
        {
            count++;
        }
    }
    return count;
}
int main()
{
    int a=0;//下界
    int b=0;//上界
    char tag='n';//继续标记
    int result=0;//目标数
    int div=0;//约数个数
    int temp=0;//临时存储
    do{
    printf("请输入两个合法数:");
    scanf("%d%d",&a,&b);
    if(a<0||b<0)
    {
        printf("输入错误!\n");
        return 0;
    }
    for(;a<=b;a++)
    {
        temp=searchDivisor(a);
        if(temp>div)
        {
            div=temp;
            result=a;
        }
    }
    printf("数%d有%d个约数!\n",result,div);
    //stdin.flush();
    printf("是否继续(y/n):");
    scanf("%c",&tag);
    }
    while('y'==tag||'Y'==tag);
    return 0;
}

/*注释*/

小弟对文件操作很是畏惧,望大师赐教!