程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 最多約數問題

最多約數問題

編輯:關於C語言

晚生才疏學淺,初來乍到,有很多問題,望與大家一起學習進步!


/***************************************************************************
* 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;
}

/*注釋*/

小弟對文件操作很是畏懼,望大師賜教!

本文出自 “理論先行實踐並重” 博客,請務必保留此出處http://69680919.blog.51cto.com/4896756/1303194

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved