第十一堂課後作業

作業題1:

任意輸入一個整數如 123456(或-123456),逆序輸出;654321(或-654321)


我的程序:


    #include<stdio.h>  
    int main(void)  
    {  
    int t;  
    printf("輸入一個數字:");  
    scanf_s("%d", &t);  
    if (t<0)  
    {  
    printf("-");  
    t=-1*t;  
    }  
    while (t != 0)  
    {  
    printf("%d", t % 10);  
    t /= 10;  
    }  
    return 0;  
    }  

程序運行效果截圖:


-----------------------分割線-----------------------

作業題2:

費式數列(Fibonacci)的前兩項爲1、1,之後的每一項爲前兩項之和,即Fn =Fn-1 +Fn-2,費式數列的前10項爲:1 、1、2、3、5、8、13、21、34、55。輸入一個正數數n ( n <= 40 ),計算出費式數列的第n項之值並輸出。

要求:利用遞歸函數

 #include<stdio.h>  
    int fibo(int n)  
    {  
        int f1=1,f2=1,fn;  
        if(n<=2)  
            return 1;  
        else  
        for(int i=3;i<=n;i++)  
        {  
            fn=fibo(n-1)+fibo(n-2);  
        } return fn;  
    }  
    void main()  
    {  
        int n;  
        printf("請輸入N的值:");  
        scanf("%d",&n);  
        printf("第N項的值爲:%d\n",fibo(n));  
    }   

截圖:


-----------------------分割線-----------------------

作業題3:

編寫程序,輸入一個正整數N,如果N 是質數則輸出Y,否則輸出N。:

要求:利用自定義函數P(N)檢查N 是不是質數

程序:

    #include<stdio.h>     
    #include<math.h>     
    char P(int x);    
    void main()    
    {    
        while(1)    
        {    
        int x;    
        printf("請輸入一個正整數,如果N 是質數則輸出Y,否則輸出N:");    
        scanf("%d",&x);    
        printf("%c\n",P(x));    
        }    
    }    
    char P(int x)    
    {    
        int i;    
        char a='N',b='Y';    
        if (x<0)    
        {    
        printf("請重新輸入:");    
        return NULL;    
        }    
        else if(x==0||x==1)    
            return a;    
        else    
        for(i=2;i<=sqrt((double)x);i++)       
        {    
            if(x%i==0)     
            {    
                return a;     
            }    
        }    
        return b;    
        
    }    

截圖:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章