实验四

任务一

#include<math.h>
#include<stdio.h>
void solve(double a, double b, double c);
int main() {
    double a, b, c;
    printf("Enter a,b,c:");
    while (scanf("%lf%lf%lf", &a, &b, &c) != EOF) {
        solve(a, b, c);
        printf("Enter a,b,c:");
    }
    return 0;
}
void solve(double a, double b, double c) {
    double x1, x2;
    double delta, real, imag;

    if (a == 0)
        printf("not quadratic equation.\n");
    else {
        delta = b * b - 4 * a * c;

        if (delta >= 0) {
            x1 = (-b + sqrt(delta)) / (2 * a);
            x2 = (-b - sqrt(delta)) / (2 * a);
            printf("x1=%f,x2=%f\n", x1, x2);
        }
        else {
            real = -b / (2 * a);
            imag = sqrt(-delta) / (2 * a);
            printf("x1=%f+%fi ,x2=%f-%fi\n", real, imag, real, imag);
        }
    }
}

 

 任务2

#include<stdio.h>
long long fac(int c);

int main() {
    int i, n;
    printf("Enter n:");
    scanf("%d", &n);
    for (i = 1; i <= n; ++i)
        printf("%d!=%lld\n", i, fac(i));

    return 0;
}
long long fac(int n) {
    static long long p = 1;
    printf("p=%lld\n", p);
    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\n", 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);
}

 

 任务3

#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++) {
        if(m>n&&n>=2)
            for(i=2;j<=m;i++)
                if (j% i == 0) {
                    flag = 0;
                    break;
                }
        if (i >= j)
            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", n, f);
    }
    return 0;
}
long long fun(int n)
{
    long long int x;
    if (n == 1)
        x = 1;
    else x = fun(n - 1) * 2 + 1;
    return x;
}

 

 

任务5

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

 

posted @ 2020-12-03 12:34  7heng  阅读(56)  评论(3编辑  收藏  举报