输入一组整数,将其中的质数存入数组中,并输出这个数组。 题目9:输入一组整数,将其中的完数存入数组中,并输出这个数组。(完数是指一个数恰好等于它的因子之和,如6=1+2+3) 题目10:输入一组整数,将其中的回文数存入数组中,并输出这个数组。(回文数是指正反读都一样的数,如121)这些用C语言怎么写,代码
时间: 2023-06-06 08:06:30 浏览: 98
如下所示:
题目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;
}
```
阅读全文