今天终于会写函数题了,分享一下第一次写对的函数代码,后面有时间我会整理函数相关知识的,最近真的太忙啦

这是第一个题的题目,哈哈哈,写了两天终于知道原来pta上交作业只写自定义函数就对啦

自然常数e可以用级数1+1/1!+1/2!+⋯+1/n!来近似计算。本题要求对给定的非负整数n,求该级数的前n项和。

输入格式:

输入第一行中给出非负整数n(≤1000)。

输出格式:

在一行中输出部分和的值,保留小数点后八位。

函数接口定义:

 

在这里描述函数接口。例如: double fun(int n) //递归算法;

裁判测试程序样例:

 

在这里给出函数被调用进行测试的例子。例如: #include<stdio.h> double fun(int n) //递归算法; int main() { int n; scanf("%d",&n); int i; double sum=1.0; for(i=1;i<=n;i++) { sum+=1.0/fun(i); } printf("%.8lf\n",sum); } /* 请在这里填写答案 */

#include<stdio.h>
double fun(int a)
{
    double f;
    if(a==1) return 1.0;
    else
    {
        f=fun(a-1)*a;
        return f;
    }
}

这里必须用递归算法,简单说就是在自己写的这个函数里面再次使用这个函数本身

来看看第二个题目吧

本题要求实现一个函数,计算N个整数中所有奇数的和,同时实现一个判断奇偶性的函数。

函数接口定义:

 

在这里描述函数接口。例如: int even( int n ); int OddSum( int List[], int N );

其中函数even将根据用户传入的参数n的奇偶性返回相应值:当n为偶数时返回1,否则返回0。函数OddSum负责计算并返回传入的N个整数List[]中所有奇数的和。

裁判测试程序样例:

 

#include <stdio.h> #define MAXN 10 int even( int n ); int OddSum( int List[], int N ); int main() { int List[MAXN], N, i; scanf("%d", &N); printf("Sum of ( "); for ( i=0; i<N; i++ ) { scanf("%d", &List[i]); if ( even(List[i])==0 ) printf("%d ", List[i]); } printf(") = %d\n", OddSum(List, N)); return 0; } /* 你的代码将被嵌在这里 */

#include<stdio.h>
int even(int n)
{
    if(n%2!=0)
       return 0;
    else
       return 1;
}
int OddSum(int List[],int N)
{
        int c,i,s=0;
    for(i=0;i<N;i++)
    {
        c=even(List[i]);
        if(c==0)
        s+=List[i];
    }
    N=s;
    return N;
}

第二个题明显比第一个题看着复杂些,遇见这种就得看清楚题目所要求的每个函数的功能,然后一定一定要仔细,把函数功能区分开,总之,多看题目要求,会少走很多弯路;这两个自定义函数功能也比较简单,一个用来判断奇数偶数,一个用来求和注意一定要有返回值,因为这个自定义函数被调用时是以表达式形式出现的。

欢迎大家积极留言呀!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值