
C语言的高手帮忙解决一下这个问题 关于invalid operands to binary %
#include<stdio.h>#include<math.h>intmain(){doublei,n,sum=0;while(scanf("%lf",&n)!=EOF...
#include<stdio.h>
#include<math.h>
int main()
{
double i,n,sum=0;
while(scanf("%lf",&n)!=EOF)
{
for(i=1;i<n;i++)
{
if (n%i=0)
sum=sum+i;}
if(sum>n) printf("盈数");
if(sum<n) printf("亏数");
if(sum==n) printf("完全数");
sum=0;
}
return 0;
}
这个是我写的东西
这个程序编译不能通过 不知道是什么问题
编译器说是
10 D:\我的文档\未命名3.c invalid operands to binary %
就是上面那个百分号取余有问题 我不知道是什么问题 有谁可以帮忙看一下 解释一下!
if (n%i==0)
不好意思 有个等于号复制上去的时候 复制漏了 改过来了 但还是存在那个百分号的问题 !!! 展开
#include<math.h>
int main()
{
double i,n,sum=0;
while(scanf("%lf",&n)!=EOF)
{
for(i=1;i<n;i++)
{
if (n%i=0)
sum=sum+i;}
if(sum>n) printf("盈数");
if(sum<n) printf("亏数");
if(sum==n) printf("完全数");
sum=0;
}
return 0;
}
这个是我写的东西
这个程序编译不能通过 不知道是什么问题
编译器说是
10 D:\我的文档\未命名3.c invalid operands to binary %
就是上面那个百分号取余有问题 我不知道是什么问题 有谁可以帮忙看一下 解释一下!
if (n%i==0)
不好意思 有个等于号复制上去的时候 复制漏了 改过来了 但还是存在那个百分号的问题 !!! 展开
1个回答
展开全部
%号的优先级 比== 高
把它改成if((n%i)==0)
还有scanf("%lf",&n)!=EOF,这句会出问题
scanf 返回值是 输入值的个数,EOF=-1
因为你在键盘输入EOF, 在windows下 貌似不能用键盘输入,貌似ctrl+D/Z 不行
把它改成if((n%i)==0)
还有scanf("%lf",&n)!=EOF,这句会出问题
scanf 返回值是 输入值的个数,EOF=-1
因为你在键盘输入EOF, 在windows下 貌似不能用键盘输入,貌似ctrl+D/Z 不行
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询