首页 > 其他分享 >experiment3

experiment3

时间:2023-04-02 17:13:44浏览次数:31  
标签:return int long experiment3 func printf include

task1.c: 复制代码

#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#define N 80
void print_text(int line,int col,char text[]);
void print_spaces(int n);
void print_blank_lines(int n);

int main(){
    int line,col,i;
    char text[N]="hi,april~";
    
    srand(time(0));
    
    for(i=1;i<=10;i++){
        line= rand()%25;
        col=rand()%80;
        print_text(line,col,text);
        Sleep(1000);
    }    
    return 0;
}

 void print_spaces(int n){
     int i;
     for(i=1;i<=n;i++){
         printf(" ");
     }
 }
 
 void print_blank_lines(int n){
     int i;
     for(i=1;i<=n;i++){
         printf("\n");
     }
 }
 
 void print_text(int line,int col,char text[]){
     print_blank_lines(line-1);
     print_spaces(col-1);
     printf("%s",text);
 }
复制代码

实现功能:连续每隔1s随机打印10次行在[0,25)列在[0,80)之间的一串hi,april字符

task2_1.c:

复制代码
#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;
}
复制代码

task2_2.c:

复制代码
#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;
}
复制代码

一致

总结:只有在第一次该语句时为变量赋值,其余时刻该语句均不发挥作用。

task3.c:

复制代码
#include <stdio.h>
long long func(int n);

int main(){
    int n;
    long long f;
    
    while(scanf("%d",&n)!=EOF){
        f=func(n);
        printf("n=%d,f=%lld\n",n,f);     
    } 
    
    return 0;
} 

long long func(int n){
      if(n==0)
     return 0;
     return 2*func(n-1)+1;    

}

task4.c:

复制代码
#include <stdio.h>
int func(int n,int m);

int main(){
    int n,m;
    while(scanf("%d%d",&n,&m)!=EOF){
        printf("n=%d,m=%d,ans=%d\n",n,m,func(n,m));
        
    }    
    return 0;
}

int func(int n,int m){
if (n==m || m==0){

return 1;}
else if(n<m){return 0;
}

return func(n-1,m)+func(n-1,m-1);

}

复制代码

task5_1.c:

复制代码
#include <stdio.h>
double mypow(int x,int y);

int main(){
    int x, y;
    double ans;
    while(scanf("%d%d",&x,&y)!=EOF){
        ans=mypow(x,y);
        printf("%d的%d次方:%g\n\n",x,y,ans);
    } 
    return 0;
} 

double mypow(int x,int y){
    if(y==0){
        return 1;
    } 
    else if(y>0){
        return (double)x*mypow(x,y-1);
    }
    else if(y<0)
    {
        return (mypow(x,y+1)/x);
    }
}
复制代码

task5_2.c:

复制代码
#include <stdio.h>
double mypow(int x,int y);

int main(){
    int x, y;
    double ans;
    while(scanf("%d%d",&x,&y)!=EOF){
        ans=mypow(x,y);
        printf("%d的%d次方:%g\n\n",x,y,ans);
    } 
    return 0;
} 

double mypow(int x,int y){
    double s=1;
    while(y>0){
        s=s*x;
        y=y-1;
    } 
    while(y<0){
        s=s/x;
        y=y+1;
    }
    return s;
}
复制代码

task6.c:

复制代码
#include <stdio.h>
void move(int x, int y);
 void hanoi(int n,char a,char b,char c); 
long long func(int n);

void move(int x, int y){
    printf("%c->%c\n",x,y);
}
void hanoi(int n,char a,char b,char c)
{
    if(n==1)
    {
        move(a,c);
    }
    else{
        hanoi(n-1,a,b,c);
        move(a,c);
        hanoi(n-1,b,a,c);
    }
}

long long func(int n){
      if(n==0)
     return 0;
     return 2*func(n-1)+1;    

}

int main()
{
    int n=0;
    while(scanf("%d",&n)!=EOF){
    
    hanoi(n,'A','B','C');
    printf("移动总数:%lld\n",func(n));
    }return 0;
}
复制代码

task7.c:

复制代码
#include <stdio.h>
#include <math.h>
int is_prime(int n);
int main(){
    int prime[20];int i;int j=2;
    for(i=2;i<=20;i++){
        prime[i]=i*is_prime(i);
    }
    for(i=4;i<=20;i+=2){
        for(j=2;;j++){
            if(prime[i-j]!=0){
                printf("%d = %d + %d\n",i,j,i-j);
                break;
            }
            
        }
    
    }

    return 0;
} 
int is_prime(int n){
    int i;int r; int f=1;
    for(i=2;i<=sqrt(n);i++){
        r=n%i;
        if(r==0){f=0;break;
        }
        else{f=1;
        }
    }
    return f; 
}
复制代码

task8.c:

复制代码
#include <stdio.h>
#include <math.h>
long func(long s);
int main(){
    long s,t;
    printf("Enter a number:");
    while(scanf("%ld",&s)!=EOF){
        t=func(s);
        printf("new number is:%ld\n\n",t);
        printf("Enter a number:");
    }
    return 0;
} 

long func(long s){
    long g=0,l=0;int t;
    while(s!=0){
        t=s %10;
        s=s/10;
        if(t%2!=0){
            l=l*10+t;
        }
    }
    while(l!=0){
        t=l%10;
        l=l/10;
        g=g*10+t;
    }
    return g;
}
复制代码

标签:return,int,long,experiment3,func,printf,include
From: https://www.cnblogs.com/20030907Z/p/17280785.html

相关文章