C语言程序题——求1000-1000000以内整数的最大三位约数

从键盘输入一个整数n(1000<=n<=1000000)编程计算并输出n的所有约数中最大的三位数(即最大的三位约数)。(如:当n为555555时,最大三位约数是777)如果n小于1000或者大于1000000,则输出“Input  error”。要求:

1)编写函数 int func(int n),该函数功能为计算n的所有约数中最大的三位数。

2)在程序中调用该函数

文章目录

  • 前言
  • 一、如何查找一个数有哪些因数/约
    #include<stdio.h>//求1000-1000000以内整数的最大三位约数
    #include<math.h>
    int main()
    {
        int func(int n);//对func函数的声明
        int a,m;
        printf("请输入一个整数:\n");
        scanf("%d",&a);
        if(a<1000||a>1000000)
            printf("Input  error");
        else
        {
            m=func(a);
            printf("%d的最大三位约数是%d",a,m);
        }
        return 0;
    }
    int func(int n)
    {
        int max=100,i=1,p=0,q=0;
        for(i=1;i<(int)sqrt(n);i++)
        {
            p=n%i;
            if(p==0)
            {
                q=n/i;
                if(q>max&&q<1000)
                max=q;
            }
        }
        return (max);
    }

    函数在主函数下时进行定义,对函数进行调用时,要注意函数声明。关于如何自定义一个函数,新手可以参考main函数的写法,包括是否要添加;{}等这些需要注意的小点。


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值