exp+4

实验一

 

# include<stdio.h>
# include<math.h>
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);
    }
 }
 } 
 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;
 }

 

无法通过返回值传递,因为函数根有两个。

 

实验二

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

添加后

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

 实验三

 

# 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 = %1ld\n",n,f);
    }
    return 0;
}
long long fun(int n){
    long long x;
    if(n==0)
    x=1;
    else
    x=2*(fun(n-1)+1);
    x=x-1;
    return x;     
}

 实验五

  

#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 line,col;
    for(line=1;line<=n;line++) {
        for(col=1;col<=n-line;col++)
        printf("%c",' ');
        for(int j=1;j<=line*2-1;j++)
        printf("%c",symbol);
        printf("\n");
    }
    }

 

 

posted @ 2020-11-28 20:57  谢库拉/凌/伊鲁席尔智  阅读(114)  评论(1编辑  收藏  举报