c编程练习009

1、题目

将一个数分解质因数

2、代码



#include <stdio.h> 

void SeparateFactor(int n);

int main(void) 
{ 
    int n;

    while(scanf("%d",&n)!=EOF)
    {        
        SeparateFactor(n);
    }

    return 0; 
}

// 分解质因数
void SeparateFactor(int n)
{
    int a = 0;
    int array[20], top;

    if (n >= 0)
    {
        a = n;
        top = 0;
        for (int i=2; i <= n; i++)
        {
            while (a%i == 0)
            {
                array[++top] = i;
                a /= i; 
            }
        }
        printf("%d = ", n);
        for(int i = 1; i < top; i++)
        {
            printf("%d * ", array[i]);
        }
        printf("%dn", array[top]);
    }
}

运行结果

V64vKs.png


VcSFJJ.md.png