以c语言编写一段程序,要求:输入一个整数,求出它的所有因子。
时间: 2023-05-19 22:03:46 浏览: 109
以下是以 C 语言编写的程序,可以输入一个整数,求出它的所有因子:
```c
#include <stdio.h>
int main() {
int num, i;
printf("请输入一个整数:");
scanf("%d", &num);
printf("%d的因子有:", num);
for (i = 1; i <= num; i++) {
if (num % i == 0) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
输入一个整数后,程序会遍历从 1 到该整数的所有数字,如果该数字是该整数的因子,则输出该数字。
相关问题
用c语言编写一段求1-1000之间的所有完数的程序
好的,下面是用 C 语言编写的求 1-1000 之间所有完数的程序:
```c
#include <stdio.h>
int main()
{
int i, j, sum;
printf("1-1000之间的完数有:\n");
for (i = 1; i <= 1000; i++)
{
sum = 0;
for (j = 1; j <= i / 2; j++)
{
if (i % j == 0)
{
sum += j;
}
}
if (sum == i)
{
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
程序运行后,会输出 1-1000 之间的完数。完数是指一个正整数等于它的因子之和(不包括它本身),例如:6 的因子为 1、2、3,它们的和为 6,所以 6 是完数。程序中使用了两个循环,外层循环遍历 1-1000,内层循环计算每个数的因子之和,如果和等于这个数本身,则输出该数。
题目要求编写程序,输出一个整数的全部素数因子。要求判断是否为素数调用第2题中的prime()函数。例如,整数120的素数因子为:2 2 2 3 5 。用c语言
好的,以下是一个C语言程序,可以输出一个整数的全部素数因子:
```c
#include <stdio.h>
#include <stdbool.h>
bool prime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
void prime_factors(int n) {
printf("%d的素数因子为:", n);
for (int i = 2; i <= n; i++) {
if (n % i == 0) {
if (prime(i)) {
printf("%d ", i);
n /= i;
i--;
}
}
}
}
int main() {
int n;
printf("请输入一个整数:");
scanf("%d", &n);
prime_factors(n);
return 0;
}
```
你可以将这段代码复制到你的C语言环境中运行,然后输入一个整数,就可以输出它的所有素数因子了。