7.5

// 7.5
/* divisors.c -- 使用嵌套if语句显示一个数的约数 */
#include <stdio.h>
#include <stdbool.h>
int main(void)
{
unsigned long num; // 待测试的数
unsigned long div; // 可能的约数
bool isPrime; // 素数标记
printf("Please enter an integer for analysis; ");
printf("Enter q to quit. ");
while (scanf("%lu", &num) == 1)
{
for (div = 2, isPrime = true; (div * div) <= num; div++)
{
if (num % div == 0)
{
if ((div * div) != num)
printf("%lu is divisible by %lu and %lu. ",
num, div, num / div);
else
printf("%lu is divisible by %lu. ", num, div);
isPrime = false; // 该数不是素数
}
}
if (isPrime)
printf("%lu is prime. ", num);
printf("Please enter another integer for analysis; ");
printf("Enter q to quit. ");
}
printf("Bye. ");
return 0;
}

原文地址:https://www.cnblogs.com/EisNULL/p/10668210.html