实验四

实验1,我认为不可以。因为若delta小于0,输出的不是整型。

实验二。

ex2-1
#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\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;

}
ex2-2
#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);
}
int func(int a, int b) {

    static int m = 0, i = 2;
    i += m + 1;
    m = i + a + b;
    return (m);
}

static后面的赋值只进行了一次,

实验3
#include<stdio.h>

#define N 1000
int fun(int n, int m, int bb[])
{

    int i, j, k = 0, flag;
    for (j = n; j <= m; j++) {
                 if(n>=2&&m>n)
        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]);
}

 

实验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);
        printf("\n");
    }return 0;

}
long long fun(int n)
{
    long long  int   p;
    if (n == 1)
        p = 1;
    else
        p = fun(n - 1) * 2 + 1;
    return p;


}

 

实验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)) {
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");
}
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-11-28 10:29  我想学好c语言  阅读(85)  评论(0编辑  收藏  举报