=" />
文档库 最新最全的文档下载
当前位置:文档库 › 201409函数实验4-1

201409函数实验4-1

201409函数实验4-1
201409函数实验4-1

实验4

1.编程题输入2个正整数m和n(m≥1,n≤500),统计并输出m和n之间的素数的个数以及这些素数的和。素数就是只能被1和自身整除的正整数,最小的素数是

2.。要求定义并调用函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0。

输入:1 10

输出:count=4,sum=17

int prime(int b);

scanf("%d",&m);

scanf("%d",&n);

count=0;

sum=0;

for(b=m;b>=m&&b<=n;b++){

if(prime(b)!=0){

count++;

sum=sum+b;

}

}

printf("count=%d, sum=%d",count,sum);

return 0;

}

int prime(int b)

{

int c,i;

if(b==1) return 0;

c=sqrt(b);

for(i=2;i<=c;i++)

if(b%i==0){

return 0;

}

return 1;

}

2.编程题读入一个整数,统计并输出该数中2的个数。要求定义并调用函数countdigit(number,digit),它的功能是统计整数number中数字digit的个数。例如,countdigit(10090,0)返回值是3。

输入:21252

输出:3

#include

int countdigit(int number,int digit)

{

int count=0;

while(number)

{

if((number%10)==digit)

count++;

number/=10;

}

return count;

}

int main()

{

int n,d;

printf("请输入一个整数:");

scanf("%d",&n);

d=2;

printf("%d在%d的出现次数:%d\n",d,n,countdigit(n,d));

return 0;

}

3. 编程题输入2个正整数m和n(1≤m,n≤1000),输出m~n之间的所有水仙花数。水仙花数是指各位数字的立方和等于其自身的数。要求定义并调用函数is(number)判断number的各位数字之立方和是否等于其自身。

输入:100 400

输出:153

370

371

#include

#include

int main(void)

{

int m,n,i,sum,a;

printf("Input m: ");

scanf("%d",&m);

printf("Input n: ");

scanf("%d",&n);

for(i=m;i<=n;i++){

a=i;

sum=0;

do{

sum=sum+pow(a-10*(a/10),3);

a=a/10;

}while(a!=0);

if(i==sum){

printf("%d\n",i);

}

}

return 0;

}

4.计算1!+2!+…+n!的值,要求定义并调用函数fact(n)计算n!,函数类型是double。

输入:10

输出:1!+2!+3!+…+10!=4037913.000000

#include

double fact(int k)

{

double res = 1.0;

while (k>=1)

{

res *= k;

k--;

}

return res;

}

int main()

{

double sum=0.0;

int i,n;

scanf("%d",&n);

for(i=1;i<=n;i++)

{

sum+=fact(i);

printf("sum=%.5lf\n",sum);

return 0;

}

5. 编程题在主函数中,输入两个正整数,调用函数gbsh(x,y)求两个数的最小公倍数,在主函数中输出结果。

输入:5 6

输出:最小公倍数是30

#include

#include

int fun_gb(int,int);

int main()

{

int a,b,gy,gb;

printf("输入: ");

scanf("%d%d",&a,&b);

gb=fun_gb(a,b);

printf("输出:%d\n",gb);

return 0;

}

int fun_gb(int x,int y)

{

int z,i;

z=x*y;

for(i=x;i<=z;i++)

{

if(i%x==0&&i%y==0)

break;

return i; }

相关文档