思路:
每个输入的数有三个属性,即是否能够被3、5、7整除
目标是要将输入的数,按照这些属性进行统计(不明白 输出其个数 是什么含义)
示例代码:
#include <stdio.h>
#include <stdlib.h>
typedef struct _data_{
int key;
bool canbedvide[3];//第一个表示能否被3整除 第二个表示能否被5整除 第三个表示能否被7整除
}DATA;
int main()
{
int n=0;
while(n>=0){//输入一个负数结束整个过程
printf("输入一个整数:\n");
scanf("%d",&n);
if(n>=0){
DATA data = {//初始化数据属性
n,
(n%3)==0,//能否被3整除 true表示可以,false表示不可以
(n%5)==0,//能否被5整除 true表示可以,false表示不可以
(n%7)==0//能否被7整除 true表示可以,false表示不可以
};
if(data.canbedvide[0] || data.canbedvide[1]||data.canbedvide[2])
{//只要至少有一个可以整除,则进行下面的判断
printf("可以被");
if(data.canbedvide[0])printf("3 ");//指出是否能被3整除
if(data.canbedvide[1])printf("5 ");//指出是否能被5整除
if(data.canbedvide[2])printf("7 ");//指出是否能被7整除
printf("整除\n");
}else{//全部都不能整除
printf("不可以被3、5、7中的任何一个整除\n");
}
}
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考