用c语言编写一个不含0的数,如果它能被它的每一位除尽,则它是一个自除数。例如128是一个自除数,因为128能被1、2、8整除。编写函数selfDivisor(num)判断num是否为自除数,使用该函数输出不大于N的所有自除数。
时间: 2024-05-01 19:22:37 浏览: 92
C语言程序设计-编写函数判断一个整数能否同时被3和5整除,若能则返回值为1,否则为0
5星 · 资源好评率100%
好的,接下来我将用ChitGPT为您解答。
关于您的问题,我已经理解了您的要求。以下是用C语言编写一个不含0的数,如果它能被它的每一位除尽,则它是一个自除数的函数selfDivisor(num)的实现:
```
#include <stdio.h>
int selfDivisor(int num) {
int n = num;
while(n > 0) {
int digit = n % 10;
if(digit == 0 || num % digit != 0) {
return 0;
}
n /= 10;
}
return 1;
}
int main() {
int N;
printf("请输入一个正整数N:");
scanf("%d", &N);
printf("不大于%d的自除数有:", N);
for(int i = 1; i <= N; i++) {
if(selfDivisor(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
以上代码会先让用户输入一个正整数N,然后使用selfDivisor函数判断1到N之间的每个数是否为自除数,并输出所有符合条件的自除数。
希望这个答案能够帮到您,如果您还有其他问题,欢迎随时向我提问。
阅读全文