您的位置:

c语言分解教程,因式分解C语言

本文目录一览:

如何用C语言拆分整数?

将一个整数的各个位分离出来的最简单方法就是模10,取个位数,直到该变为0。

参考代码:

#include stdio.h

void main()

{

int n=0;

scanf("%d", n );

do {

printf("%d\n", n%10 ); //每次输出个位

n/=10 ; //缩小10倍,去除原来的个位。

}while(n);

}

但这整拆分的特点是从后向前输出每一位数。

如果仅是为了输出,还想正向输出每一位数,则可用递归函数来解决。(也可以实现逆向输出)

参考代码:

#include stdio.h

void split_int( int n )

{

if ( n0 )

{

//printf("%d\n", n%10 );//逆向输出,放开这里,关闭下面的printf().即:先输出当前个位,再去高位的数

split_int( n/10 );//先去输出高位的数

printf("%d\n", n%10 ); //再输出当前的个位数

}

}

void main()

{

int n;

scanf("%d", n);

split_int(n);

}

如果想把分离开的数据存储到数组中,则最简单的方法是将整数用sprintf()存储到字符数组中,然后,遍历数组,逐位取出。

参考代码:

#include stdio.h

void main()

{

int n,i;

char str[20];

scanf("%d", n);

sprintf(str,"%d", n);

for( i=0;str[i];i++ ) //正向输出

printf("%c\n", str[i] );

for( i--;i=0;i-- ) //逆向输出

printf("%c\n", str[i] );

}

C语言 因式分解

#includestdio.h

#includestdlib.h

#includestring.h

  

  

unsigned int m=2;

unsigned int cnt=1;

  

void Factor(int n, char *msg, char printYes);

int main()

{

    char s[100]={0};

    char flag='y';

    printf("------求整数的因式分解------\n请输入正整数m(1):");

    scanf("%u", m);

    printf("打印详细分解情况吗?[y|n,回车打印]");

    scanf("%*c%c",flag);

    if(m1)

    {

        printf("error input!\n");

        exit(-1);

    }

    if(flag!='n')

        printf("%d =  %d \n", m,m);

    Factor(m, s,flag);

    if(cnt==1)

        printf("\n%d是素数\n",m);

    printf("\n------");

    printf("一共有%d种", cnt);

    printf("------\n");

    return 0;

}

  

void Factor(int n, char *msg,char printYes)

{

    char s2[100]={0};//保存当前分解的部分结果

    if(n==1)

        return ;

    for(int i=2;in;i++)

    {

        if (n%i==0)

        {

            if(n==m)

                sprintf(msg, "%d = ", m);

            sprintf(s2,"%s %d * ",msg, i);//因式分解部分结果保存在字符串s2中

  

            if(printYes!='n')

                printf("%s %d\n",s2,n/i);//打印结果(包括最后一个因子)

            Factor(n/i,s2,printYes);

            cnt++;

        }

    }

}

C语言分解质因数

#include stdio.h

int main(){

int n;  // 用户输入的整数

int i;  // 循环标志

printf("输入一个整数:");

scanf("%d",n);

printf("%d=",n);

// n=2才执行下面的循环

for(i=2; i=n; i++){

while(n!=i){

if(n%i==0){

printf("%d*",i);

n=n/i;

}else

break;

}

}

printf("%d\n",n);

return 0;

}

将一个正整数分解质因数。

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

1、如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

2、如果nk,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。

3、如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。最近25年是使用最为广泛的编程语言。

C语言

C语言是由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)于1970年 由 肯·汤普逊(Ken Thompson)所研制出的B语言的基础上发展和完善起来的。目前,C语言编译器普遍存在于各种不同的操作系统中,例如UNIX、MS-DOS、Microsoft Windows及Linux等。C语言的设计影响了许多后来的编程语言,例如C++、Objective-C、Java、C#等。

C语言中怎样分解5位数? C语言分解数字教程

1、具体步骤如下:假设这个数是x,写出来的形式是abced(a是万位,b是千位,c是百位数等等)

2、a=x整除10000

3、b=(x-a*10000)整除1000

4、c=(x-a*10000-b*1000)整除100

c语言将一个正整数分解质因数,望高手帮我详细解释一下程序?

1、首先打开vc6.0, 新建一个vc项目,添加头文件。

2、添加main主函数,如下图所示。

3、然后定义 n, i 两个变量,如下图所示。

4、接着使用scanf给n赋值,使用for循环。

5、然后用while作为内层循环,使用printf打印i。

6、最后使用if条件语句,运行程序,如下图所示,正整数分解为质因子就完成了。