C語言 第四章 分支結構練習


一、輸入語文,數學成績,根據平均分分3檔

#include "stdio.h"
void main()
{
    //接受用戶輸入
    float chinese,math,avg;
    printf("請輸入語文成績:");
    scanf("%f",&chinese);
    printf("請輸入數學成績:");
    scanf("%f",&math);
    
    //判斷輸入是否正確
    if((chinese>=0&&chinese<=100)&&(math>=0&&math<=100))
    {
       //求平均分
       avg=(chinese+math)/2;
       //根據平均分分檔
       if(avg>=0&&avg<=59){
          printf("C");
       }
       else if(avg>=60 && avg<=84)
       {
             printf("B");
       }
       else
       {
             printf("A");
       }
    }
    else
    {
        printf("輸入錯誤");
    }
}

二、使用switch實現算術運算

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    //輸入部分
    int d1,d2;
    char o;
    
    printf("d1=");
    scanf("%d",&d1);
    
    fflush(stdin);
    
    printf("運算符(+ - * /):");
    scanf("%c",&o);
    
    fflush(stdin);
    
    printf("d2=");
    scanf("%d",&d2);
    
    switch(o)
    {
        case '+':
            printf("%d%c%d=%d",d1,o,d2,d1+d2);
            break;
        case '-':
            printf("%d%c%d=%d",d1,o,d2,d1-d2);
            break;
        case '*':
            printf("%d%c%d=%d",d1,o,d2,d1*d2);
            break;
        case '/':
            if(d2!=0)
            {
                printf("%d%c%d=%d",d1,o,d2,d1/d2);
            }
            else
            {
                printf("除數不能為零");
            }
            break;
        default:
            printf("系統不支持該運算符。");
    }
    
}

三、使用多重if實現算術運算

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    //輸入部分
    int d1,d2;
    char o;
    
    printf("d1=");
    scanf("%d",&d1);
    
    fflush(stdin);
    
    printf("運算符(+ - * /):");
    scanf("%c",&o);
    
    fflush(stdin);
    
    printf("d2=");
    scanf("%d",&d2);
    
    if(o=='+')
    {
        printf("%d%c%d=%d",d1,o,d2,d1+d2);
    }
    else if(o=='-')
    {
        printf("%d%c%d=%d",d1,o,d2,d1-d2);
    }
    else if(o=='*')
    {
        printf("%d%c%d=%d",d1,o,d2,d1*d2);
    }
    else if(o=='/')
    {
        if(d2!=0)
        {
            printf("%d%c%d=%d",d1,o,d2,d1/d2);
        }
        else
        {
            printf("除數不能為零");
        }
    }
    else 
    {
        printf("系統不支持該運算符。");
    }
    
}

四、for循環

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    //1+2+3+4....+58=?
    int i,sum=0;
    for(i=1;i<=58;i++)
    {
        sum=sum+i;
        printf("\n%d",i);
    }
    printf("總和=%d",sum);
}

五、while循環

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    int i=1;
    while(i<=100)
    {
        printf("%d \n",i);
        i++;
    }
}

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    int i=1;
    while(1)  //默認條件為真
    {
        printf("%d \n",i);
        i++;
        if(i==100)
        {
            break;  //結束循環
        }
    }
}

 

六、do while循環

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    int i=0;
    do
    {
        i++;
        printf("%d\n",i);
    }while(i<58);
}

七、密碼示例

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    int mm,e=0;  //輸入次數
    do{
        printf("還有%d次機會",3-e);
        printf("請輸入密碼:");
        scanf("%d",&mm);
        e++;
    }while(mm!=9527&&e<3);
    
    if(e<=3&&mm==9527)
    {
      printf("密碼正確,歡迎進入系統。"); 
    }
    else
    {
       printf("卡已被鎖,明天帶身份證來。");
    }
}

 

八、多重if實現計算月份天數

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    //1 3 5 7 8 10 12 ->31
    //4 6 9 11 ->30
    //13 輸入錯誤
    int month,year;
    printf("請輸入年:");
    scanf("%d",&year);
    printf("請輸入月:");
    scanf("%d",&month);
    
    if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
    {
      printf("這個月有31天");
    }
    else if(month==4||month==6||month==9||month==11)
    {
      printf("這個月有30天");    
    }
    else if(month==2)
    {
       //①、非整百年能被4整除的為閏年。(如2004年就是閏年,2100年不是閏年)
       //②、能被400整除的是閏年。(如2000年是閏年,1900年不是閏年)
      //如果年被4整除且不被100整除,或400整除
      if(year%4==0&&year%100!=0||year%400==0)
      {
          printf("閏年29天");
      }
      else
      {
          printf("平年28天");
       }
    }
    else 
    {
        printf("輸入有誤");
    }
     
}

九、switch實現計算月份天數

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    int month,year;
    printf("請輸入年:");
    scanf("%d",&year);
    printf("請輸入月:");
    scanf("%d",&month);
    
    switch(month)
    {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            printf("31天");
            break;
        case 4:
        case 6:
        case 9:
        case 11:
            printf("30天");
            break;
        case 2:
            if(year%4==0&&year%100!=0||year%400==0)
            {
                printf("29");
            }
               else
            {
                printf("28");
            }
            break;
        default:
            printf("輸入錯誤");
    }
}
    

十、計算閏年

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    //被4整除且不被100整除,或被400整除
    int year;
    scanf("%d",&year);
    
    if((year%4==0&&year%100!=0)||(year%400==0))
    {
        printf("閏年");
    }else
    {
         printf("平年");
    }
    
}

十一、判斷素數

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    int i,j,flag=1;  //就是素數 樹旗,假定默認就是
    scanf("%d",&j);
     
    for(i=2;i<j/2;i++)
    {
        if(j%i==0)
        {
            flag=0;
            break;
        }
    }
    
    if(flag==1)
    {
        printf("素數\n");
    }
    else
    {
        printf("非素數\n");
    }
}

十二、100內所有素數

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    int i,j,flag=1;  //就是素數 樹旗
    
    for(j=2;j<=100;j++)
    {
        flag=1;
        for(i=2;i<j;i++)
        {
            if(j%i==0)
            {
                flag=0;
                break;
            }
        }
    
        printf("%d",j);
        if(flag==1)
        {
            printf("素數\n");
        }
        else
        {
            printf("非素數\n");
        }
    }
}

十三、switch實現輸入數字與符號運算結果

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    int n1,n2;
    char op;
    
    scanf("%d",&n1);
    fflush(stdin);
    
    scanf("%c",&op);
    fflush(stdin);
    
    scanf("%d",&n2);
    
    switch(op)
    {
        case '+':
            printf("%d+%d=%d",n1,n2,n1+n2);
            break;
        case '-':
            printf("%d-%d=%d",n1,n2,n1-n2);
            break;
        case '*':
            printf("%dx%d=%d",n1,n2,n1*n2);
            break;
        case '/':
            if(n2==0)
            {
                printf("除數不能為零");
            }
            else
            {
                printf("%d/%d=%d",n1,n2,n1/n2);
            }
            break;
        default:
            printf("符號錯誤");
    }
}

十四、多重if實現輸入數字與符號運算結果

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    int n1,n2;
    char op;
    
    scanf("%d",&n1);
    fflush(stdin);
    
    scanf("%c",&op);
    fflush(stdin);
    
    scanf("%d",&n2);
    
    if(op=='+')
    {
        printf("%d+%d=%d",n1,n2,n1+n2);
    }
    else if(op=='-')
    {
        printf("%d-%d=%d",n1,n2,n1-n2);
    }
    else if(op=='x')
    {
        printf("%dx%d=%d",n1,n2,n1*n2);
    }
    else if(op=='/')
    {
           if(n2==0)
            {
                printf("除數不能為零");
            }
            else
            {
                printf("%d/%d=%d",n1,n2,n1/n2);
            }
    }
    else
    {
        printf("符號錯誤");
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM