第七章:函数实训

简介: 第七章:函数实训

五、编程题

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

#include<stdio.h>
#define PI 3.1415926
float area(float r, float h)
{
  float a;
  a = PI * 2 * r * h;
  return a;
}
float bulk(float r, float h)
{
  float v;
  v = PI * r * r * h;
  return v;
}
int main()
{
  float r, h;
  printf("Please input radius and height:\n");
  scanf("%f,%f", &r, &h);
  printf("Surface area:%.2f,volume:%.2f\n", area(r, h), bulk(r, h));
  return 0;
}

运行结果

702d9e78ccc84ad7919d1e376fb0c28d.png

粗浅理解:此代码是根据函数的值传递进行调用的,根据圆柱体表面积和体积的公式分别定义两个函数值是单精度实型函数进行计算,然后计算完之后输出。


(二)编写函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0。

#include<stdio.h>
int prime(int m)
{
  int i;
  for (i = 2; i < m / 2; i++)
  if (m % i == 0)break;
  if (i > m / 2)return 1;
  return 0;
}
int main()
{
  int i;
  for (i = 2; i < 100; i++)
  if (prime(i))printf("%d ", i);
  return 0;
}

运行结果

007396691a5042679980eff6478d3386.png

(三)编写程序,输出一个整数的全部素数因子。要求判断是否为素数调用第2题中的prime()函数。例如,整数120的素数因子为2、2、2、3、5。

#include<stdio.h>
int prime(int m)
{
  int i;
  for (i = 2; i <= m / 2; i++)
  if (m % i == 0)break;
  if (i > m / 2)return 1;
  return 0;
}
int main()
{
  int i, n, m;
  printf("Please iunput a Number:\n");
  scanf("%d", &n);
  m = n;
  while (m > 0)
  {
  for(i=2;i<=m;i++)
    if (prime(i) && m % i == 0)
    {
    printf("%d*", i);
    m = m / i;
    break;
    }
  }
  printf("\b=%d", n);
  return 0;
}

运行结果

c7dca7ea139247e4b9661e6b5237ec3b.png

(4)输入精度e,使用格里高利公式求π的近似值,精确到最后一项的绝对值小于e。要求定义和调用函数pi(e)求π的近似值。

#include<stdio.h>
float pi(float e)
{
  int i = 1;
  float pi = 1, s = 1, a;
  do
  {
  s = -s;
  i = i + 2;
  a = 1.0 / i;
  pi = pi + s * a;
  } while (a >= e);
  return pi * 4;
}
int main()
{
  float e;
  printf("Please iunput a Number:\n");
  scanf("%f", &e);
  printf("%f", pi(e));
  return 0;
}

运行结果

288b64248fad43129a4b25023aa8e9f4.png

(6)使用递归方法,求解x的n次方。其中n为整数,x不等于0。

#include<stdio.h>
float xn(float x, int n)
{
  if (n == 0)return 1, 0;
  if (n == 1)return x;
  return xn(x, n - 1) * x;
}
main()
{
  int n; float x;
  printf("Please input x:");
  scanf("%f", &x);
  printf("\nPlease input n:");
  scanf("%d", &n);
  printf("%f", xn(x, n));
}

运行结果

5b9656937c3f4bb0b8789cf8c19adaee.png


目录
打赏
0
0
0
0
32
分享
相关文章
|
10月前
|
【软件设计师备考 专题 】程序设计评审的重要性和方法
【软件设计师备考 专题 】程序设计评审的重要性和方法
198 0
|
2月前
|
【C语言程序设计——基础】顺序结构程序设计(头歌实践教学平台习题)【合集】
目录 任务描述 相关知识 编程要求 测试说明 我的通关代码: 测试结果: 任务描述 相关知识 编程编写一个程序,从键盘输入3个变量的值,例如a=5,b=6,c=7,然后将3个变量的值进行交换,使得a=6,b=7,c=5。面积=sqrt(s(s−a)(s−b)(s−c)),s=(a+b+c)/2。使用输入函数获取半径,格式指示符与数据类型一致,实验一下,不一致会如何。根据提示,在右侧编辑器补充代码,计算并输出圆的周长和面积。
80 10
【第六章】软件设计师 之 数据结构与算法基础
软件设计师 之 数据结构与算法基础 备考资料
【第六章】软件设计师 之 数据结构与算法基础
|
10月前
|
【软件设计师—基础精讲笔记9】第九章 算法设计与分析
【软件设计师—基础精讲笔记9】第九章 算法设计与分析
90 1
【软件设计师—基础精讲笔记7】第七章 面向对象技术
【软件设计师—基础精讲笔记7】第七章 面向对象技术
191 1
|
10月前
|
第六章:数组实训
第六章:数组实训
120 0
软考——软件设计师:第七章:系统开发基础(软件工程&结构化开发)考点总结(完整篇)
软考——软件设计师:第七章:系统开发基础(软件工程&结构化开发)考点总结(完整篇)
软考——软件设计师:第七章:系统开发基础(软件工程&结构化开发)考点总结(完整篇)
软工导第一节课 计算机软件工程学作一个简短的概述,回顾计算机系统发展简史 软件工程的基本原理和方法有概括的本质的认识,详细讲解生命周期相关知识讲解8种典型的软件过程模型
软工导第一节课 计算机软件工程学作一个简短的概述,回顾计算机系统发展简史 软件工程的基本原理和方法有概括的本质的认识,详细讲解生命周期相关知识讲解8种典型的软件过程模型
327 0
软工导第一节课 计算机软件工程学作一个简短的概述,回顾计算机系统发展简史 软件工程的基本原理和方法有概括的本质的认识,详细讲解生命周期相关知识讲解8种典型的软件过程模型
兴趣编程六步法
欢迎来到我的小院,在当今时代,科技力量代表一个国家的核心竞争力,其中计算机编程技术尤为重要,可以从中学习逻辑分析能力,业务抽象能力,专注思考能力等等,美国等一些发达国家,已经把编程教育纳入小学课本中,所以我们也需要加快步伐,掌握编程的一些理念和实战技巧。
兴趣编程六步法