PTA-2017实验2.4 函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PTA-2017实验2.4 函数相关的知识,希望对你有一定的参考价值。

参考技术A

6-1 简单实现x的n次方(10 分)
本题要求实现一个计算x n (n≥0)的函数。
函数接口定义:
double mypow( double x, int n );
函数mypow应返回x的n次幂的值。题目保证结果在双精度范围内。

裁判测试程序样例:

输入样例:

输出样例:

程序源码

6-2 使用函数求1到10的阶乘和(10 分)
本题要求实现一个计算非负整数阶乘的简单函数,使得可以利用该函数,计算1!+2!+⋯+10!的值。

函数接口定义:

double fact( int n );
其中n是用户传入的参数,其值不超过10。如果n是非负整数,则该函数必须返回n的阶乘。

裁判测试程序样例:

输入样例:

输出样例:

程序源码

7-1 生成3的乘方表(15 分)
输入一个非负整数n,生成一张3的乘方表,输出3 ​0 ~3 ​n
​​ 的值。可调用幂函数计算3的乘方。

输入格式:

输入在一行中给出一个非负整数n。

输出格式:

按照幂的递增顺序输出n+1行,每行格式为“pow(3,i) = 3的i次幂的值”。题目保证输出数据不超过长整型整数的范围。

输入样例:

输出样例:

程序源码

7-2 求平方根序列前N项和(15 分)
本题要求编写程序,计算平方根序列√1 +√​2+√3+⋯的前N项之和。可包含头文件math.h,并调用sqrt函数求平方根。

输入格式:

输入在一行中给出一个正整数N。

输出格式:

在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后两位。题目保证计算结果不超过双精度范围。

输入样例:

输出样例:

程序源码

7-3 求阶乘序列前N项和(15 分)
本题要求编写程序,计算序列 1!+2!+3!+⋯ 的前N项之和。

输入格式:

输入在一行中给出一个不超过12的正整数N。

输出格式:

在一行中输出整数结果。

输入样例:

输出样例:

程序源码

[PTA]实验5-1 使用函数计算两个复数之积

[PTA]实验5-1 使用函数计算两个复数之积

若两个复数分别为:c₁ = x₁ + y₁i 和 c₂ = x₂ + y₂i ,则它们的乘积为:c₁ x c₂ = (x₁x₂ - y₁y₂) + (x₁y₂ + x₂y₁)i。
本题要求实现一个函数计算两个复数之积。

函数接口定义:

double result_real, result_imag;
void complex_prod( double x1, double y1, double x2, double y2 );

其中用户传入的参数为两个复数x₁+y₁i和x₂ + y₂i ;函数complex_prod应将计算结果的实部存放在全局变量result_real中、虚部存放在全局变量result_imag中。

裁判测试程序样例:

#include<stdio.h> 

double result_real, result_imag;
void complex_prod( double x1, double y1, double x2, double y2 );

int main(void) 
{ 
    double imag1, imag2, real1, real2;    

    scanf("%lf %lf", &real1, &imag1);             
    scanf("%lf %lf", &real2, &imag2);             
    complex_prod(real1, imag1, real2, imag2);     
    printf("product of complex is (%f)+(%f)i\\n", result_real, result_imag);

    return 0;
}

/* 你的代码将被嵌在这里 */

输入样例:

1 2
-2 -3

输出样例:

product of complex is (4.000000)+(-7.000000)i
  • 提交结果:

在这里插入图片描述

  • 源码:
#include<stdio.h> 

double result_real, result_imag;
void complex_prod(double x1, double y1, double x2, double y2);

int main(void)
{
    double imag1, imag2, real1, real2;

    scanf("%lf %lf", &real1, &imag1);
    scanf("%lf %lf", &real2, &imag2);
    complex_prod(real1, imag1, real2, imag2);
    printf("product of complex is (%f)+(%f)i\\n", result_real, result_imag);

    return 0;
}

/* 你的代码将被嵌在这里 */
void complex_prod(double x1, double y1, double x2, double y2)
{
    result_real = x1 * x2 - y1 * y2;
    result_imag = x1 * y2 + x2 * y1;
}

以上是关于PTA-2017实验2.4 函数的主要内容,如果未能解决你的问题,请参考以下文章

LabVIEW控制Arduino驱动1602液晶显示屏(基础篇—10)

LabVIEW控制Arduino驱动1602液晶显示屏(基础篇—10)

LabVIEW控制Arduino驱动1602液晶显示屏(基础篇—10)

Python学习笔记__2.4章 递归函数

操作系统实验1 并发程序设计

2.4函数进阶