题目:编写函数判断一个整数能否同时被3和5整除,

来源:百度知道 编辑:UC知道 时间:2024/06/15 05:17:02
题目:编写函数判断一个整数能否同时被3和5整除,
若能则返回值为1,否则为0。调用该函数求
出15~300之间能同时被3和5整除的数的个数。
#include "stdio.h"
int sum(int n)
{int x;
If(x%3==0&&x%5==0) sum(n)==1;
else sum(n)==0;
}
main()
{int i,s=0;
for(i=15;i<=300;i++)
if(sum(i)==1) s=s+1;
printf("s=%d\n",s);
getch();
}
不知为什么陷入死循环 各位高手帮帮忙

int sum(int n)
{int x;
If(x%3==0&&x%5==0) sum(n)==1;
else sum(n)==0;
}

这样的代码 里边 sum(n) 成了递归了,当然死循环了

#include "stdio.h"
int sum(int n)
{int x;
If(x%3==0&&x%5==0) return 1;
else return 0;
}

main()
{int i,s=0;
for(i=15;i<=300;i++)
s += sum(i);
printf("s=%d\n",s);
getch();
}

int sum(int n)
{int x;
If(x%3==0&&x%5==0) sum(n)==1;
else sum(n)==0;
}
这是什么乱七八糟的玩意,连return都没有怎么返回?而且你用两个等号是在比较,而不是赋值。应该这样:
int sum(n){
if(n%3==0&&n%5==0) return 1;
else return 0;
}

#include "stdio.h"
int sum(int n)
{
if(n%3==0&&n%5==0)
return 1;
else return 0;
}
void main()
{
int i,s=0;
for(i=15;i<=300;i++)
if(sum(i)==1)
s=s+1;
printf("s=%d\n",s);
//getch();
}