今天开始试着自己找一些试题做,遇到这样一道题:
编程实现输入一个整数,判断其能否被3、5、7整除,并输出以下信息之一:
(1)能同时被3、5、7整除;
(2)能被其中两个数(要指出哪两个)整除;
(3)能被其中一个数(要指出哪一个)整除;
(4)不能被3、5、7任一个整除。
自己写了一段程序,感觉非常的繁琐,于是在网上搜索一些大家编写的简单而又明了的代码如下
#include
void main()
{
int a;
cout <
cin >>a;
int c1 = a%3 ==0;
int c2 = a%5 ==0;
int c3 = a%7 ==0;
switch((c1<<2)+(c2<<1)+c3) //可以改成switch((c1*4)+(c2*2)+c3) {
case 0: cout <
case 1: cout <
case 2: cout <
case 3: cout <
case 4: cout <
case 5: cout <
case 6: cout <
case 7: cout <
}
}
#include
void main()
{
int x;
short int n=0;
cout<
cin>>x;
if(x%3!=0&&x%5!=0&&x%7!=0)
{
cout<
return;
}
else
{
cout<
if(x%3==0)
{cout<
n++;
}
if(x%5==0)
{cout<
n++;
}
if(x%7==0)
{cout<
n++;
}
}
cout<
}
#include
void main()
{
loop:
int i;
cin>>i;
(i%3&&i%5&&i%7)?cout<
:(i%7?cout<
:(i%5?(i%7?cout<
:(i%7?cout<
goto loop;
}
收集到如上三种可用方法,经测试均可用
一下是自己的程序
#include
void main(){ int x; cout<>x; int a,b,c; a=x%3; b=x%5; c=x%7; if (a==0) { if(b==0&&c==0) cout<