C语言,练习7

(1).   写一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息。

本程序应当准备以下测试数据:1734210。分别输入数据,运行程序并检查结果是否正确。

可以考虑两种不同解法:①有返回值:把输入的整数作为实参,传递给形参后,数据处理判断后返回值10,给回主函数作为判断是否素数的依据;②无返回值:直接把函数调用作为一句语句,在自定义函数里判断是否素数并输出结果。

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>

#include<math.h>

#include<stdlib.h>

int main()

{

    void s1(int x);

    int x;

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

    scanf_s("%d", &x);

    s1(x);

    system("pause");

    return 0;

}

void s1(int x)

{

    int i, n;

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

    {

         n = x - i * (x / i);

         if (n == 0)

         {   break;

         }

    }

    if (i == x)

    {

         printf("%d是素数\n", x);

    }

    else

    {

         printf("%d不是素数\n", x);

    }

}

 

(2).  编写程序,调用函数求一个圆柱体的表面积和体积。

自定义两个函数,分别求解表面积和体积,要求函数类型为double型,设计好形参表列,也就是理清需要从实参处得到哪些数值

#include <stdio.h>

#define Pi 3.1415926

void fun(int h, int r)

{

       float area, volume;

       area = 2 * Pi * r * r + 2 * Pi * r;

       volume = 2 * Pi * r * r * h;

       printf("The surface area of this cylinder is %f, the volume is %f.", area, volume);

}

int main(void)

{

       int h, r;

       printf("Please enter the height and radius of the cylinder:");

       scanf("%d%d", &h, &r);

       fun(h, r);

}

(3).   用递归法,求解xn的值。其中n为整数n>=0x不等于0

找出该题的基例和链条,用if-else语句组织递归函数mypow()。确定好形参的个数。学有余力的同学可以把考虑n<0的情况考虑进去

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>

int f(int x, int n) {

    if (n == 0) {

        return 1;

    }

    else {

        return x * f(x, n - 1);

    }

}

int main() {

    int a, bc;

    printf("请输入xn:");

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

    c = f(a, b);

    printf("结果为%d", c);

    return 0;}

 这一节考察我们对函数的应用,其实更多的是和之前学习的内容的结合,函数的调用,同之前学习的函数使用其实大同小异,需要我们掌握之前学习的内容的基础上加以练习

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

请在此处输入你的昵称

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值