初学者求指导一下,错误找不到

img

img

img


#include<stdio.h>

#include<math.h>
void main()
{
int n;
int i,j,sum,start,t,s=0;
double m=sqrt(n);
scanf("%d",&n);
if(n>pow(2,31)||n<1)
{printf("error");}
else {
for(i=2;i<=m;i++)
{
t=0;
sum=1;
for(j=i;;j++)
{
sum*=j;
if(n%sum==0) t++;
else break;
}
if(t>s){
s=t;
start=i;
}
}
printf("%d\n%d",s,start);
while(s-1>0)
{
printf("*%d",++start);
s--;
}
printf("\n");
}
}

if(n>(2,31)&&n<1) 这个条件有问题吧,首先第一个问题就是n>(2,31) 这个是什么?这个就错了,还有一个就是n<1时小于1的,那么n>(2,31) 这里却又是大的,所以你后面这个(2,31) 到底是做什么的?

if(n>(2,31)&&n<1) 这是啥条件???
if(n>pow(2,31) || n<1)
{
printf("error");
}

要看清楚,他要你输出的是什么
并不只是输出一个结果
是要输出 567这个算式在屏幕上
printf("%d * %d * %d",a,b,c);
而不是让直接输出 210 这个结果在屏幕上
printf("%d",ret);
你看看是不是这个问题

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632