1. 程式人生 > 實用技巧 >實驗三。

實驗三。

//一元二次方程求解
//重複執行,直到按ctrl+z結束
//
#include<math.h>
#include<stdio.h>

int main(){
    float a,b,c,x1,x2;
    float delta, real, imag;
    
    printf("Enter a, b, c: ");
    
    while(scanf("%f%f%f",&a,&b,&c)!=EOF){
        if(a==0)
           printf("not quadratic equation.\n\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\n",x1,x2); } else{ real=-b/(2*a); imag=sqrt(-delta)/(2
*a); printf("x1=%.2f+%.2fi\n\n",real,imag,real,imag); } } printf("Enter a,b,c:"); } return 0; }

//生成N個0~9之間的隨機整數,並列印輸出
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
# define N 5

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

rand中的種子如果是一個固定的數產生的隨機數將會是固定的,rand函式如果需要0~99的隨機數則後面需要%100,如果需要0~9的隨機數則需要加%10,

產生隨機數的規律就是如此。需要0~n就打出%n+1。

//輸出101-200之間的所有素數
#include<stdio.h>
#include<math.h>
int main(){
    int n,m,x;
    n=101,x=0;
    while(n<=200) 
    {
    for(m=2;m<=sqrt(n);++m)
       if(n%m==0) break;
  
       if(m>sqrt(n))
        {printf("%6d",n);x++;
           if(x%5==0)
            printf("\n");}
             
             n++;
    }
    printf("101~200之間共有%d個素數",x);      
    return 0;
    
    
    
    
}

//取奇數構新數
#include<stdio.h>
#include<math.h>

int main(){
    int a,b,c,d=0;
    printf("Enter a number:");
    while(scanf("%ld",&a) !=EOF){
    
        c=0,d=0;
        while(a) 
    {
        b=(a%10);
        a=a/10;
       
        if(b%2!=0){
            c+=b*pow(10,d);
            d++;    
        }
        
        
    }
        
            
        printf("new number is:%d\n",c);
        printf("Enter a number");
    }
          return 0;
    
} 

// 計算s的值
#include<stdio.h>
#include<math.h>

int main (){
    int n,i,x;
    double z,s;
   
           printf("Enter n(1~10):");  
        
        while(scanf("%d",&n) !=EOF){
        z=0,x=1,z=1,s=0;
            
            for(i=1;i<=n;)
            {
            z*=i;
            s+=(1/z)*pow(-1,i-1);
            i++;
            }
            
            
            
            
        printf("n=%d s=%f x=%d z=%d\n",n,s,x,z);
        printf("Enter n(1~10):");    
}

    return 0;
    
} 

//猜日期
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int main(){
    int x,a=0,n=0;
    
    srand(time(0));
    x=rand()%31+1;
    
    printf("猜猜2020年12月哪一天是你luck day\n開始嘍,你有三次機會,猜吧(1~31);");
    scanf("%d",&a);
    for(n=1;n<3;++n)
    {
      if(a>x)
    {
        printf("你猜的日期晚了,luck day悄悄溜到前面啦\n再猜(1~31):");
        scanf("%d",&a);
        }    
    else if(a<x)    
    {
        printf("你猜的日期早啦,luck day還沒到呢\n再猜(1~31):");
        scanf("%d",&a); 
        }    
    else    
    {printf("小夥子不錯,猜對了哦!"); return 0;}
     
}
    printf("次數用完了哦,偷偷告訴你:12月,你的luck day是%d號",x);    
    return 0;
}