描述
给定一个整数,判断它能否被3,5,7整除,并输出以下信息:
1、能同时被3,5,7整除(直接输出3 5 7,每个数中间一个空格);
2、只能被其中两个数整除(输出两个数,小的在前,大的在后。例如:3 5或者3 7或者5 7,中间用空格分隔);
3、只能被其中一个数整除(输出这个除数);
4、不能被任何数整除,输出小写字符‘n’,不包括单引号。
输入
输入一行,包括一个整数。
输出
输出一行,按照描述要求给出整数被3,5,7整除的情况。
输入样例 1
105
输出样例 1
3 5 7
代码: #include<iostream> #include<cmath> #include<iomanip> using namespace std; int main() { int a,b; bool n=1; cin>>a; if(a%3==0) cout<<"3 "; n=0; if(a%5==0) cout<<"5 "; n=0; if(a%7==0) cout<<"7"; n=0; if(n) cout<<"n"; return 0; } 这代码看起来貌似没什么问题,其实问题已经摆在面前了。 #include<iostream> #include<cmath> #include<iomanip> using namespace std; int main() { int a,b; bool n=1; cin>>a; if(a%3==0) cout<<"3 ";n=0;if(a%5==0) cout<<"5";n=0; if(a%7==0) cout<<"7"n=0; if(n) cout<<"n"; return 0; } 花括号呢? #include<iostream> #include<cmath> #include<iomanip> using namespace std; int main() { int a,b; bool n=1; cin>>a; if(a%3==0) { cout<<"3 "; n=0; } if(a%5==0) { cout<<"5 "; n=0; } if(a%7==0) { cout<<"7"; n=0; } if(n) cout<<"n"; return 0; } 问题解决