C语言新手求助:为什么输出乱码啊啊啊

B2084 质因数分解

wuxiangtianbei @ 2022-12-05 15:41:16

#include<stdio.h>
int main()
{
long long n,a,b,i,j,z;
a=0;
b=0;
z=0;
scanf("%lld",n);
for(i=1;i<=n;i++)
{
   z=n%i;
   if(z!=1)continue;
   {
   for(j=1;j<=i;j++)
   if(i%j==0)a=a+1;
   }
   if(a==2)break;
}
b=n/i;
printf("%lld",b);
}

by VitrelosTia @ 2022-12-05 15:45:32

@wuxiangtianbei 你的 i 是什么


by 温家浩 @ 2022-12-05 15:51:49

@wuxiangtianbei

第 8 行 scanf("%lld",n);

改为 scanf("%lld",&n);

但是你的程序仍然不能输出正确答案,建议再思考一下


by ReeseA12 @ 2022-12-05 15:55:46

@wuxiangtianbei

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int n;
    scanf("%d",&n);
    for(int i=2;i<=n;i++) 
        if(n%i==0) 
        { 
        printf("%d",n/i);
        break;
        }
    return 0;
}

这样就行了,不需要开long long


by wuxiangtianbei @ 2022-12-05 16:08:32

会了,谢谢


|