[讨论][求助]这么简单我怎么不会呢?
小弟这题是第三章《表达式和语句》的课后习题,希望高手能用前三章的知识解决这题
编程输入一个整数,判断能否被3,5,7整除,并输出以下条件之一:
1。能同时被3,5,7整除;
2。能被其中两数(要指出哪两个)整除;
3。能被其中一个数整除(要指出哪一个)整除;
4。不能被3,5,7任一个整除;
小弟在网上搜到一个答案,是switch语句的,而且用到移位操作,这是第三章的课后习题,还没有学移位操作。下面是在网上搜得的代码:
#include <iostream.h>
void main()
{
int a;
cout <<"please input a number:\n";
cin >>a;
int c1 = a%3 ==0;
int c2 = a%5 ==0;
int c3 = a%7 ==0;
switch((c1<<2)+(c2<<1)+c3){
case 0: cout <<"不能被3,5,7整除.\n"; break;
case 1: cout <<"只能被7整除.\n"; break;
case 2: cout <<"只能被5整除.\n"; break;
case 3: cout <<"可以被5,7整除.\n"; break;
case 4: cout <<"只能被3整除.\n"; break;
case 5: cout <<"可以被3,7整除.\n"; break;
case 6: cout <<"可以被3,5整除.\n"; break;
case 7: cout <<"可以被3,5,7整除.\n"; break;
}
}