实验四

#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);
        }
    }
}

#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;
    
    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);
}

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;
}

#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-1);
    }
    return 0;
}
long long fun(int n){
    long long f;        
    if(n==0)
    return 1;    
    if(n>0&&n<=32)
    f=2*fun(n-1);        
    return f;                    
}

#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("\n");
    }
    return 0;
}
void draw(int n,char symbol){
    int a,b,d,e,f;    
    for(a=1;a<=n;a++) {
        b=n-a;         
        for(d=1;d<=b;d++){
        printf(" ");    
        }
        e=2*a-1;
        for(f=1;f<=e;f++){
        printf("%c",symbol);    
        }
        printf("\n");
    }
}

posted @ 2020-12-02 21:53  樱花凌空而逝  阅读(74)  评论(2编辑  收藏  举报