• 实验4


    任务一:

    一元二次方程的根不能设计成以函数返回值的方式返回给主调函数,因为函数的返回值至多有一个

    任务二:

    #include<stdio.h>
    long long fac(int n);
    
    int main(){
        int i, n;
        
        printf("Enter n: ");
        scanf("%d", &n);
        
        for(i=1; i<=n; i++)
            printf("%d! = %lld
    ", i, fac(i));    
        
        return 0;
    }
    
     
    long long fac(int n){
        static long long p = 1;
    
        p = p*n;
        
        return p; 
    }

    #include<stdio.h>
    int func(int, int);
    
    int main(){
        int k = 4, m = 1, p1, p2;
        
        p1 = func(k, m);
        p2 = func(k, m);
        printf("%d,%d
    ", p1, p2);
        
        return 0;
    }
    
    int func(int a, int b){
        static int m = 0, i = 2;
        
        i += m +1;
        m = i + a + b;
        
        return(m); 
    }

    static变量的特性:再次调用函数时会保留上次函数调用结束时的值

    任务三:

    #include<stdio.h>
    
    #define N 1000
    int fun(int n, int m, int bb[N]){
        int i, j, k=0, flag;
        
        for(j=n; j<=m; j++){
            flag = 1;
            for(i=2; i<j; i++)
                if(j%i == 0){
                    flag = 0;
                    break;
            }
            if(flag == 1)
                bb[k++] = j;
        }
        return k;
    } 
    
    int main(){
        int n = 0, m = 0, i, k, bb[N];
        
        scanf("%d", &n);
        scanf("%d", &m);
        
        for(i=0; i<m-n; i++)
            bb[i] = 0;
            
        k = fun(n,m,bb);
        
        for(i=0; i<k; i++)
            printf("%4d", bb[i]);
        
        return 0;
    }

    任务4

    #include<stdio.h>
    long long fun(int n);
    
    int main(){
        int n;
        long long f;
        
        while(scanf("%d", &n) != EOF){
            f = fun(n);
            printf("n = %d, f = %lld
    ", n, f);
        }
        
        return 0;
    }
    
    long long fun(int n){
        long long s;
        if(n == 0)
            s = 0;
        else{
            s = 2*(fun(n-1) + 1) - 1;
        }
        return s;
    }

    任务5

    #include<stdio.h>
    
    void draw(int n, char symbol);
    
    int main(){
        int n, symbol;
        
        while(scanf("%d %c", &n, &symbol) != EOF){
            draw(n, symbol);
            printf("
    "); 
        }
        
        return 0;
    }
    
    void draw(int n, char symbol){
        int i, x, y, line;
            for(line=1; line<=n; line++){
                x = n - line;
                y = 2*line - 1;
                for(i=1; i<=x; i++) 
                    printf(" ");
                for(i=1; i<=y; i++) 
                    printf("%c", symbol);
                printf("
    "); 
            }
    
    }

  • 相关阅读:
    pyinstaller模块
    使用reduce方法数组去重
    Linux的关机与重启命令
    splice和slice的区别
    发现splice的新大陆
    text-decoration和outline
    前端中关于堆和栈的那些事
    git
    前端代码规范
    弹性布局在项目中的使用示例
  • 原文地址:https://www.cnblogs.com/wjxing/p/14058910.html
Copyright © 2020-2023  润新知