因为你的if条件一直没有成立。改成for(i=1;i<=n;i++){ if(n%i==0) sum += i;}printf("%d",sum);
你设的n是float,但是你输入的时候是用的%d,前后不统一了
你定义了float型变量,输入输出是要用%f,而不是%d
因为n/i永远都不等于0所以就永远不执行呀!