女青年与西西 2017-06-04 05:12 采纳率: 33.3%
浏览 2914
已采纳

计算最大的三位约数?C

题目内容:
从键盘任意输入一个数n(1000<=n<=1000000),编程计算并输出n的所有约数中最大的三位数(即最大的三位约数)。如果n小于1000或者大于1000000,则输出“Input error!”。
函数原型:int Func(int n);
函数功能:计算n的所有约数中最大的三位数

#include <stdio.h>
int Func(int n);
main()
{
   int n;
   printf("Input n:");
   scanf("%d", &n);
   if (n < 1000 || n > 1000000)
   {
       printf("Input error!");
   }
   printf("%d\n", Func(n));
 }

int Func(int n)
{
    int m;
    for (m = 100; m < 1000; m++)
    {
        if(n % m == 0)
        {
            printf("%d", m);
         }
    }
}


不清楚错在哪里?是循环出问题么?

  • 写回答

4条回答 默认 最新

  • 种瓜大爷 领域专家: 嵌入式与硬件开发技术领域 2017-06-04 05:52
    关注

    为什么不从999开始往下面减呢,输出最大的三位数。当有最大的就跳出!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?