1. 请编写函数 int Fun(int m, int xx[]),其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数作为函数值返回。
例如,输入17,则应输出4 6 8 9 10 12 14 15 16。
main函数如下:(注意:请无改动main函数)
void main()
{
int m, n, zz[100];
printf("\nPlease enter an integer number between 10 and 100: ");
scanf("%d",&n);
m=Fun(n,zz);
printf("\n\nThere are %d non-prime numbers less than %d: ",m,n);
for(n=0;n<m;n++)
printf("\n %4d",zz[n]);
}
2.请编写函数 long Fun(int g),其功能是:用递归算法计算斐波拉契级数列中第n项的值。从第一项起,斐波拉契级数序列为1,1,2,3,5,8,13,21,…例如,若给n输入7,该项的斐波拉契级数值为13。
main函数如下:(注意:请无改动main函数)
void main()
{
long fib; int n;
printf("Input n:");scanf("%d",&n);
printf("n=%d\n",n);
fib=Fun(n);
printf("fib=%d\n\n",fib);
}
1、
#include<stdio.h>
int Fun(int m, int xx[]){
int i,j,k=0;
for(i=2;i<m;i++){
for(j=2;j<=sqrt(i);j++){
if(i%j==0){
xx[k++]=i;
break;
}
}
}
return k;
}
void main()
{
int m, n, zz[100];
printf("\nPlease enter an integer number between 10 and 100: ");
scanf("%d",&n);
m=Fun(n,zz);
printf("\n\nThere are %d non-prime numbers less than %d: ",m,n);
for(n=0;n<m;n++)
printf("\n %4d",zz[n]);
}
2、
#include<stdio.h>
long Fun(int g){
if(g==2||g==1) return 1;
return Fun(g-1)+Fun(g-2);
}
void main()
{
long fib; int n;
printf("Input n:");scanf("%d",&n);
printf("n=%d\n",n);
fib=Fun(n);
printf("fib=%d\n\n",fib);
}
int Fun(int m, int xx[])
{
int i,j;
int n=0;
for(i=2;i<m;i++)
{
for(j=2;j<i;j++)
if(i%j==0)break;
if(j<i) xx[n++]=i;
}
}