输入一个整数,判断它能否被3,5,7整除,并输出以下信息之一:

a. 能同时被3,5,7整除;
b. 能被其中两数(要指出哪两个)整除;
c. 能被其中一个数(要指出哪一个)整除;
d. 不能被3,5,7任一个整除。

#include<stdio.h>
int main()
{
int a;
int b=0,c=0,d=0;
scanf("%d",&a);
if(a%3==0)b=1;
if(a%5==0)c=1;
if(a%7==0)d=1;
if(b*c*d==1)printf("%d 3 5 7\n",a);
else if(b==1&&c==1)printf("%d 3 5\n",a);
else if(b==1&&d==1)printf("%d 3 7\n",a);
else if(c==1&&d==1)printf("%d 5 7\n",a);
else if(b==1)printf("%d 3\n",a);
else if(c==1)printf("%d 5 \n",a);
else if(d==1)printf("%d 7\n",a);
else printf("no\n");
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-09-28
//这样编主要是为了避免大量的if else语句套在一起使可读性下降。
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int a,n;
cin>>a;
n=0;
if (a%3==0)
n+=3;
else
n=n;
if (a%5==0)
n+=5;
else
n=n;
if (a%7==0)
n+=7;
else
n=n;
switch (n)
{
case 3:
cout<<"3"; break;
case 5:
cout<<"5"; break;
case 7:
cout<<"7"; break;
case 8:
cout<<"3 5"; break;
case 10:
cout<<"3 7"; break;
case 12:
cout<<"5 7"; break;
case 15:
cout<<"3 5 7"; break;
default:
cout<<"n";
}
return 0;
}
第2个回答  2012-03-18
int main()
{
int n;
printf("input number for test:\n");
scanf("%d",&n);
if(n%3==0&&n%5==0&&n%7==0)
printf("此数能被3、5、7同时整除!\n");
else if(n%3==0&&n%5==0)
printf("此数能被3、5同时整除!\n");
else if(n%3==0&&n%7==0)
printf("此数能被3、7同时整除!\n");
else if(n%5==0&&n%7==0);
printf("此数能被5、7同时整除!\n");
else printf("此数不能被3、5、7任何一个数整除!\n");
return 0;
}本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网