西西努力变强 2021-10-06 19:09 采纳率: 72.7%
浏览 37

C语言编写分解质因数程序异常求解

代码如下,请问哪里出错了。。

#include<stdio.h>
int main(void)
{
    printf("*****分解质因数*****\n");
    printf("请输入一个待检验的正整数(非素数):\n");
    int a,b=2,c=3,d=5,i,wxx[3]={0};
    x1:scanf("%d",&a);
    for(i=2;i<a;i++)
    {
        if((a%i)==0)
        {
            printf("=======================\n");
            break;
        }
    }
    if(i==a||a<=0)
    {
    printf("您输入的是素数或非负整数,请重试!\n");
    goto x1;
    while (a%2!=0)
    {
        a%=2;
        wxx[0]++;
    }
    while(a%3!=0)
    {
        a%=3;
        wxx[1]++;
    }
    while(a%5!=0)
    {
        a%=5;
        wxx[2]++;
    }
    for(i=0;i<3;i++)
    {
        if(wxx[i]==0)wxx[i]++;
    }
    printf("分解质因数后为:\n");
    for(i=0;i<wxx[0];i++)printf("%d*",b);
    for(i=0;i<wxx[1];i++)printf("%d*",c);
    for(i=0;i<wxx[2];i++)printf("%d*",d);
    printf("%d\n",a);
    return 0;
}
  • 写回答

1条回答 默认 最新

  • 赵4老师 2021-10-06 19:24
    关注

    万一因数里有7,11,13,17,……呢?

    评论

报告相同问题?

问题事件

  • 创建了问题 10月6日