c语言输出一个数的所有因数

用while语句

从数学定义可以得知,一个数的因数范围在1到该数本身。所以只需要从1到该数遍历,逐个尝试模除,可以整除的则为因数,将所有符合条件的数打印即可。

代码如下:

#include <stdio.h>
int main()
{
    int n,i;
    scanf("%d",&n);//输入要输出因数的值。
    for(i = 1; i <= n; i ++)
    {
        if(n%i ==0) printf("%d,",i);//输出因数。
    }
    
    return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-27
#include<stdio.h>

int main()
{
int input;//输入的数字
int i;

scanf("%d",&input);
for(i=1;i<=input;i++){//循环判断所有小于input的数字
if(input%i==0){//如果被整除的话则输出
printf("%d ",i);
}
}

return 0;
}本回答被提问者采纳
第2个回答  2008-04-22
#include "stdio.h"
main()
{
int n,i=1;
printf("input n:");
scanf("%d",&n);
while(i<=n)
{
if(n%i==0)printf("%d ",i);
i++;
}
getch();
}

c语言输出一个数的所有因数
从数学定义可以得知,一个数的因数范围在1到该数本身。所以只需要从1到该数遍历,逐个尝试模除,可以整除的则为因数,将所有符合条件的数打印即可。代码如下:include <stdio.h>int main(){ int n,i; scanf("%d",&n);\/\/输入要输出因数的值。 for(i = 1; i <= n; i ++) ...

C语言怎样高效求一个数的所有因数的和
int main(){ int i,n,b;long sum=0;scanf("%d",&n);sum=n;printf("所有因数:");for(i=1;i<=n\/2;++i)if(n%i==0){ printf("%d ",i);sum+=i;} printf("%d ",n);printf("\\nsum=%d ",sum);return 0;}

c语言已知一个数的质因数求一个数的全部因数
scanf("%d",&n);printf("%d=",n);for(i=2;i<=n;i++){ while(n!=i){ if(n%i==0){ printf("%d*",i);n=n\/i;} else break;} } printf("%d",n);}

如何通过c语言编程编写一个函数可以输出整数m的全部素数因子?
&x)) \\x0d\\x0a { \\x0d\\x0a printf("分解质因数:\\n");\\x0d\\x0a k=x;\\x0d\\x0a for(i=2;i<k;i++) \\x0d\\x0a if(x%i==0) \\x0d\\x0a {\\x0d\\x0a printf("%d ",i);

C语言如何求出一个数的“因数”求源代码
include<stdio.h>main(){ int n, i; scanf("%d", &n); printf("%d = ", n); for(i = 2; n != 1; i++) { while(n % i == 0) { n \/= i; printf("%d%c", i, n == 1 ? '\\n' : '*'); } }} ...

任意给定一个大于1的整数n,设计一个算法求出n的所有因数。
n的因数,设为x,可得n=kx,k为常数,明显,k也为n的因数。所以求n的因数,可以求枚举1到n^0.5的所有数,判断这个数是否能被n除尽,那么n\/x必然也为n的因数,且除了x^2=n的特殊情况,其他的x和n\/x都不相等。为了看起来舒服,可以排序一下。c语言代码 include<stdio.h> include<stdlib.h>...

c语言编程:编写一个函数,输出整数m的全部素数因子。例如:m=120时,因 ...
楼主你好!根据你的要求实现代码如下!include<stdio.h>int main(){ printf("请输入一个数:");int a;scanf("%d",&a);for(int i=2;i<=a;){ if(a%i==0&&i!=a){ printf("%d ,",i);a=a\/i;} else if(a%i==0&&i==a){ printf("%d \\n",i);a=a\/i;} else i++;}...

用c语言编写1到20中3的倍数和因数?
以下是用C语言编写的程序,用于输出1到20中3的倍数和因数。输出结果:第一个for循环输出1到20中的3的倍数,第二个for循环输出3的因数。

c语言 随意输入一个数,输出不大于这个数的最大的完数的所有因数的和
int main(){ int n,i,j,k,s,a[100]={0};scanf("%d",&n);for(i=n;i>0;i--){ s=0;k=0;for(j=1;j<=i\/2;j++){ if(i%j==0){ a[k]=j;s+=a[k];k++;} } if(s==i)break;} printf("%d=",s);for(i=0;i<k;i++)printf("%d+",a[i]);printf("\\b")...

C语言输出100到一千之间所有素数
首先打开CodeBlocks,创建一个新项目。项目语言,选择“c”,就可以写程序判断素数了,具体方法为:1、创建好项目后,我们打开“main.c”文件。2、首先是实现输入口。3、输入口完成后,接下来就是判断素数。4、先定义好相关的变量,这里result是用来存储因子之和的,用循环,遍历所有可能因子。5、执行...

相似回答