c语言输出该数的所有因子并存入数组
时间: 2024-05-13 11:02:15 浏览: 55
以下是一个示例程序,可以输出一个数的所有因子并存储在数组中:
```c
#include <stdio.h>
int main() {
int num, factors[100], count = 0;
printf("请输入一个正整数:");
scanf("%d", &num);
for (int i = 1; i <= num; i++) {
if (num % i == 0) {
factors[count] = i;
count++;
}
}
printf("%d的因子有:\n", num);
for (int i = 0; i < count; i++) {
printf("%d ", factors[i]);
}
printf("\n");
return 0;
}
```
程序中,首先通过 `scanf` 获取用户输入的正整数,然后使用 `for` 循环遍历从 1 到该数的所有数,如果该数可以整除当前的循环变量,则将当前的循环变量存入数组中。最后,使用另一个 `for` 循环输出存储在数组中的因子。
相关问题
输入一组整数,将其中的质数存入数组中,并输出这个数组。 题目9:输入一组整数,将其中的完数存入数组中,并输出这个数组。(完数是指一个数恰好等于它的因子之和,如6=1+2+3) 题目10:输入一组整数,将其中的回文数存入数组中,并输出这个数组。(回文数是指正反读都一样的数,如121)这些用C语言怎么写,代码
如下所示:
题目9:完数
```c
#include<stdio.h>
#define N 100
int main() {
int arr[N],n,i,j,sum;
printf("请输入数组长度n(n<=100):");
scanf("%d",&n);
printf("请输入%d个整数:",n);
for(i=0; i<n; i++)
scanf("%d",&arr[i]);
for(i=0; i<n; i++) {
sum=0;
for(j=1; j<arr[i]; j++) //累加因子和
if(arr[i]%j==0)
sum+=j;
if(sum==arr[i]) //判断是否为完数
printf("%d ",arr[i]);
}
return 0;
}
```
题目10:回文数
```c
#include<stdio.h>
#define N 100
int main() {
int arr[N],n,i,j,temp,flag;
printf("请输入数组长度n(n<=100):");
scanf("%d",&n);
printf("请输入%d个整数:",n);
for(i=0; i<n; i++)
scanf("%d",&arr[i]);
for(i=0; i<n; i++) {
temp=arr[i];
flag=1; //flag表示是否为回文数,初值为真
while(temp>0) { //判断是否为回文数
if(temp%10!=arr[i]%10) {
flag=0; //不是回文数,flag变为假
break;
}
temp=temp/10;
arr[i]=arr[i]/10;
}
if(flag==1)
printf("%d ",arr[i]);
}
return 0;
}
```
C语言:输入一个整数,将其所以因子保存到一个数组并输出
你可以尝试以下代码实现:
```c
#include <stdio.h>
int main() {
int num, i, j = 0;
int factors[100]; // 假定因子不超过 100 个
printf("请输入一个整数:");
scanf("%d", &num);
// 查找因子并存入数组
for (i = 1; i <= num; i++) {
if (num % i == 0) {
factors[j] = i;
j++;
}
}
// 输出因子数组
printf("%d 的因子有:\n", num);
for (i = 0; i < j; i++) {
printf("%d ", factors[i]);
}
return 0;
}
```
该程序首先提示用户输入一个整数,然后查找该整数的所有因子,并将它们存储在一个数组中。最后,程序输出这个数组中的元素,即该整数的所有因子。
阅读全文