编程实现输入一个整数,判断其是否能被3、5、7整除,并输出C++
下面的代码自己写的好复杂还有一个错误,求大神帮忙指出,并希望能指导或给出最合适的代码,谢谢~~~~~#include<iostream.h>intx1(inta);int...
下面的代码自己写的好复杂还有一个错误,求大神帮忙指出,并希望能指导或给出最合适的代码,谢谢~~~~~
#include <iostream.h>
int x1(int a);
int y1(int a);
int z1(int a);
int main()
{
int m,x,y,z;
cout<<"请输入一个整数:"<<endl;
cin>>m;
x=x1(m);
y=y1(m);
z=z1(m);
if (x=1 && y=1 &&z=1) cout<<m<<"能同时被3、5、7整除。"<<endl;
if (x=1 && y=1 && z=0) cout<<m<<"能被3、5整除。"<<endl;
if (x=1 && y=0 && z=1) cout<<m<<"能被3、7整除。"<<endl;
if (x=0 && y=1 && z=1) cout<<m<<"能被5、7整除。"<<endl;
if (x=1 && y=0 && z=0) cout<<m<<"只能被3整除。"<<endl;
if (x=0 && y=1 && z=0) cout<<m<<"只能被5整除。"<<endl;
if (x=0 && y=0 && z=1) cout<<m<<"只能被7整除。"<<endl;
return 0;
}
int x1(int a);
{
if (a%3=0)
return 1;
else
return 0;
}
int y1(int a);
{
if (a%5=0)
return 1;
else
return 0;
}
int z1(int a);
{
if (a%7=0)
return 1;
else
return 0;
} 展开
#include <iostream.h>
int x1(int a);
int y1(int a);
int z1(int a);
int main()
{
int m,x,y,z;
cout<<"请输入一个整数:"<<endl;
cin>>m;
x=x1(m);
y=y1(m);
z=z1(m);
if (x=1 && y=1 &&z=1) cout<<m<<"能同时被3、5、7整除。"<<endl;
if (x=1 && y=1 && z=0) cout<<m<<"能被3、5整除。"<<endl;
if (x=1 && y=0 && z=1) cout<<m<<"能被3、7整除。"<<endl;
if (x=0 && y=1 && z=1) cout<<m<<"能被5、7整除。"<<endl;
if (x=1 && y=0 && z=0) cout<<m<<"只能被3整除。"<<endl;
if (x=0 && y=1 && z=0) cout<<m<<"只能被5整除。"<<endl;
if (x=0 && y=0 && z=1) cout<<m<<"只能被7整除。"<<endl;
return 0;
}
int x1(int a);
{
if (a%3=0)
return 1;
else
return 0;
}
int y1(int a);
{
if (a%5=0)
return 1;
else
return 0;
}
int z1(int a);
{
if (a%7=0)
return 1;
else
return 0;
} 展开
4个回答
展开全部
1、楼主瞎轮注意=与==的区别:if (a%3=0) 应该是手误吧?
2、函数实现的时候不要带分号哦int x1(int a)。
建议楼主这样写
int x1(int 磨棚信a)
{
return (0 == a%3);
}
这样简洁易懂,不明白的话欢迎追问~~
if (x=1 && y=1 &&z=1) cout<<m<<"能同时被3、5、7整除。"<<endl;
if (x=1 && y=1 && z=0) cout<<m<<"能被3、5整除。"<<endl;
if (x=1 && y=0 && z=1) cout<<m<<"能被3、7整除。"<<endl;
if (x=0 && y=1 && z=1) cout<<m<<"能被5、7整除。"<<endl;
if (x=1 && y=0 && z=0) cout<<m<<"只能被3整除。"<<endl;
if (x=0 && y=1 &和唯& z=0) cout<<m<<"只能被5整除。"<<endl;
if (x=0 && y=0 && z=1) cout<<m<<"只能被7整除。"<<endl;
这一段也是把=换==哦~~
更多追问追答
追问
还是有一个错误。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
追答
#include <iostream.h>
int x1(int a);
int y1(int a);
int z1(int a);
int main()
{
int m, x, y, z;
cout << "请输入一个整数:" << endl;
cin >> m;
x = x1(m);
y = y1(m);
z = z1(m);
if (x && y && z)
cout<<m<<"能同时被3、5、7整除。"<<endl;
else if (x && y)
cout<<m<<"能被3、5整除。"<<endl;
else if (x && z)
cout<<m<<"能被3、7整除。"<<endl;
else if (y && z)
cout<<m<<"能被5、7整除。"<<endl;
else if (x)
cout<<m<<"只能被3整除。"<<endl;
else if (y)
cout<<m<<"只能被5整除。"<<endl;
else if (z)
cout<<m<<"只能被7整除。"<<endl;
else
cout<<m<<"不能被3、5、7任一个整除。"<<endl;
return 0;
}
int x1(int a)
{
return (0 == a%3);
}
int y1(int a)
{
return (0 == a%5);
}
int z1(int a)
{
return (0 == a%7);
}
供参考~~
2013-09-25
展开全部
倒数第五行,你的if语句里if(a%7=0)其实你是想判断能不能被7整除吧,可是在编程里,你用一个“=”号表示的是赋值,双等号“==”才是判断,这样拦颂你判断的结果是错误的,而且你本身编写的if语老则句是表判断的,现在却执行了赋值功能,所以这简含郑个地方应该是一处错误
更多追问追答
追问
不行。。。
追答
因为只是看到代码,不是实际操作所以不太好弄,你可以看到运行的错误提示,根据提示你可以将错误的位置找到,一般在提示的行数的上下相邻两行之间,然后看看有没有把判断的写成赋值的,或是不改加分号的加了分号,再或者是需要类型的转换,这些一般都是我们自己敲代码时经常犯的错误,希望对你以后有帮助,如果你喜欢编程的话我们可以交个朋友,我是大四的,学编程,自己也比较喜欢编程。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
错误有两个:
所有if语句中,单等号改为==双等号(或镇皮有!的不算)
后面三个函数定义,旅族参数)后面不能有分衫差号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好久没看代码了,记得用于判断的等于号应该是双等号吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询