实验4

//ex1
#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("无解\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=%lf,x2=%lf\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);
        }
    }
}

//ex2
#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;
}

//ex2_2
#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;
}

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

//ex4
#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){
    int i;
    long long f=1;
    for(i=1;i<=n;i++)
        f=2*f;
    
    return f-1;
}

//ex5
#include<stdio.h>
void draw(int n,char symbol);

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,m,k;
    for(i=1;i<=n;i++){
        for(m=1;m<=n-i;m++)
            printf(" ");
        for(k=1;k<=2*i-1;k++)
            printf("%c",symbol);
    printf("\n");
    }
}

posted @ 2020-11-28 10:24  完美且天才  阅读(77)  评论(1)    收藏  举报