实验任务1:

#include <stdlib.h>
#include <time.h>
#define N 5

int main(){
    int x,n;
    
    srand(time(0));
    
    for(n=1;n<=N;n++){
        x = rand()%100;
        printf("%3d",x);
    }
    
    printf("\n");
    
    return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 5

int main(){
    int x,n;
    
    srand(time(0));
    
    for(n=1;n<=N;n++){
        x = rand()%31+1;
        printf("%3d",x);
    }
    
    printf("\n");
    
    return 0;
}

 

实验任务2:

原来的盲猜版本:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(){
    
    int x,n,i;
    srand(time(0));
    x = rand()%31+1;
    
    printf("猜猜2021年5月哪一天会是你的luck day\n");
    printf("开始喽,你有三次机会,猜吧(1~31):");
    scanf("%d",&n);
    
    for(i=1;i<=2;i++){
        
        if(n==x){
            break; 
        }
        else if(n>x){
            printf("你猜的日期晚了,luck day悄悄溜到前面啦\n");
        } 
        else{
            printf("你猜的日期早了,luck day还没到呢\n");
        }
        
        printf("再猜:");
        scanf("%d",&n);
        
    }
    if(n==x)
    printf("恭喜你猜对啦!");
    else 
    printf("次数用完啦,偷偷告诉你:5月,你的luck day是%d号\n",x);
}

为了验证程序的完善性,添加了一行printf把随机数输出了,方便我猜。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(){
    
    int x,n,i;
    srand(time(0));
    x = rand()%31+1;
    printf("%d\n",x);
    
    printf("猜猜2021年5月哪一天会是你的luck day\n");
    printf("开始喽,你有三次机会,猜吧(1~31):");
    scanf("%d",&n);
    
    for(i=1;i<=2;i++){
        
        if(n==x){
            break; 
        }
        else if(n>x){
            printf("你猜的日期晚了,luck day悄悄溜到前面啦\n");
        } 
        else{
            printf("你猜的日期早了,luck day还没到呢\n");
        }
        
        printf("再猜:");
        scanf("%d",&n);
        
    }
    if(n==x)
    printf("恭喜你猜对啦!");
    else 
    printf("次数用完啦,偷偷告诉你:5月,你的luck day是%d号\n",x);
}

第二次猜对:

第三次猜对:

 

实验任务3:

#include <stdio.h>

int main(){
    
    long x,m;
    
    printf("Enter a number:");
    while(scanf("%ld",&x)!=EOF){
        long i=1,t=0;
        while(x!=0){
        
            m=x%10;
            if(m%2==1){
                t=t+m*i;
                i=i*10;
              
            }
          x=x/10;
        }
      printf("new number is:%ld\n",t);
      printf("Enter a number:");
   }
   
   return 0;
}

 

实验任务4:

#include <stdio.h> 
#include <math.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=%.2f,x2=%.2f\n",x1,x2);
        }
        else{
            real=-b/(2*a);
            imag=sqrt(-delta)/(2*a);
            printf("x1=%.2f + %.2fi,x2=%.2f - %.2fi\n",real,imag,real,imag);
        }
    }
}

 

实验任务5:

#include <stdio.h> 
double fun(int n);

int main(){
    int n;
    double s;
    
    printf("Enter n(1~10):");
    while(scanf("%d",&n)!=EOF){
        s=fun(n);
        printf("n=%d,s=%f\n\n",n,s);
        printf("Enter n(1~10):");
    }
    
    return 0;
}

double fun(int n){
    double i,p=1,q=0;
    for(i=1;i<=n;i++){
        p=p*i;
        q=q+1.0/p;
        p=(-1)*p;
    }
    
    return q;
}

 

实验任务6:

#include <stdio.h>
#include<math.h>
int isPrime(int x);
int main (){
    int n,t;
    t=0;
    for(n=100;n<=200;n++){
        if(isPrime(n)){
            t++;
            printf("%4d",n);
            if(t%5==0){
                printf("\n");
            }                        
        }
    }
    printf("\n\n");
    printf("100~200之间素数个数为:%d",t);    
}

int isPrime(int x){
    int k;
    for(k=2;k<=sqrt(x);k++){
        if(x%k==0){
            return 0;
        }
    }
    return 1;    
}