美文网首页
2017实验5 函数程序设计

2017实验5 函数程序设计

作者: 林之禾 | 来源:发表于2017-11-05 11:57 被阅读0次
6-1 使用函数计算两点间的距离(10 分)
double dist( double x1, double y1, double x2, double y2 ){
    return pow(pow((x1-x2),2)+pow((y1-y2),2),0.5);
}
6-2 符号函数(10 分)
int sign(int x) {
    if (x > 0) {
        return 1;
    } else if (x == 0) {
        return 0;
    } else {
        return -1;
    }
}
6-3 使用函数求1到10的阶乘和(10 分)
double fact( int n ){
    int num;
    num=1;
    for(int j=1;j<=n;j++){
            num *=j;
       }
   return num;
}

6-4 使用函数判断完全平方数(10 分)
int IsSquare( int n ){
    if(pow(n,0.5)*pow(n,0.5)==n){
        return 1;

    }else{
        return 0;
    }
}
6-5 使用函数求素数和(20 分)
int prime( int p ) {
    int count=0;
        for(int i=1; i<=p; i++) {

            if(p%i==0) {
                count++;
            }
        }
    if(count==2) {
        return 1;
    } else {
        return 0;
    }
}
int PrimeSum( int m, int n ) {
    int sum=0;
    for(int i=m; i<=n; i++) {
        if(prime(i)) {
            sum+=i;
        }
    }
    return sum;
}
6-6 数字金字塔(15 分)
void pyramid( int n )
{
    for(int i=1;i<=n;i++){
        for(int m=n;m>i;m--){
            printf(" ");
        }
        for(int j=1;j<=i;j++){
            printf("%d ",i);
        }
        printf("\n");
    } 
}

6-7 使用函数计算两个复数之积(10 分)
void complex_prod(double x1, double y1, double x2, double y2) {
    result_real = x1 * x2 - y1 * y2;
    result_imag = x1 * y2 + x2 * y1;
}
6-8 使用函数求最大公约数(10 分)
int gcd( int x, int y ){
    int i=x;
    while(1){
        if(x%i==0&&y%i==0){
            return i;
        }
        i--;
    }
}
6-9 使用函数统计指定数字的个数(15 分)
int CountDigit(int number, int digit) {
    int a, b;
    int count = 0;
    if (number == 0) {
        return 1;
    }

    while (number != 0) {
        a = number % 10;
        if (a == digit || a == -digit) {
            count++;
        }
        number = number / 10;
    }

    return count;

}
6-10 使用函数求余弦函数的近似值(15 分)
double funcos(double e, double x) {
    double sum = 0, d = 100;
    int i = 0, j;
    double cj;
    int count = 0;
    while (d > e) {
        count++;
        if (count % 2 != 0) {
            cj = 1;
            for (j = 1; j <= i; j++) {
                cj = cj * j;
            }
            d = pow(x, i) / cj;
            sum = sum + d;
            i += 2;
        } else {
            cj = 1;
            for (j = 1; j <= i; j++) {
                cj = cj * j;
            }
            d = pow(x, i) / cj;
            sum = sum - d;
            i += 2;
        }
    }
    return sum;
}
6-11 使用函数输出水仙花数(20 分)
int narcissistic( int number ){
    int sum,sum2=0,a=number,count=0;
    while(a>0){
        a/=10;
        count++;
    }
    a=number;
    for(int i=0;i<count;i++){
        int num=a%10;
        a/=10;
        sum=1;
        for(int j=0;j<count;j++){
            sum*=num;
        }
        sum2+=sum;
    }
    if(sum2==number){
        return 1;
    }else{
        return 0;
    }
}
void PrintN( int m, int n ){
    for(int i=m+1;i<n;i++){
        if(narcissistic(i)==1){
            printf("%d\n",i);
        }
    }

}

相关文章

  • 2017实验5 函数程序设计

  • 2021-12-09作业

    实验5 函数程序设计二、基础编程题(4)最大公约数和最小公倍数 (5)求[m,n]∈N区间的素数和 四.拓展编程题...

  • 《PHP程序设计》学生成绩管理系统实验报告

    《PHP程序设计》学生实验报告 《PHP程序设计》学生实验报告 一、基本信息 二、实验步骤(及实验数据) 1、PH...

  • C语言函数一本道来

    函数的由来 程序=数据+算法C程序=数据+函数 模块化程序设计模块化程序设计.png 面向过程的程序设计 以过程为...

  • 2017实验9 结构程序设计

  • 程序设计语言|分类与特点

    程序设计语言基本上可以分为:命令式程序设计语言、函数式程序设计语言、面向对象程序设计语言和逻辑程序设计语言。 1....

  • 2017实验3 分支结构程序设计

    7-2 比较大小(10 分)本题要求将输入的任意3个整数从小到大输出。输入格式:输入在一行中给出3个整数,其间以空...

  • 浅析函数式编程

    一:什么是函数式编程 函数式编程(英语:functional programming)或称函数程序设计、泛函编程,...

  • JAVA的函数式接口

    函数式编程   函数式编程(英语:functional programming)或称函数程序设计、泛函编程,是一种...

  • 2019-04-09

    计算机基础实验5-1 一、实验目的: 练习使用Linux系统调用函数创建进程、加载程序、终止进程、撤销进程,利用信...

网友评论

      本文标题:2017实验5 函数程序设计

      本文链接:https://www.haomeiwen.com/subject/lqmcmxtx.html