利用C語言判斷輸入數據所在等級(同時含有if語句與switch語句)


題目:

  輸入學生的百分制成績(0~100的整數),輸出對應的成績等級(A~E)。

  對應規則如下:

  [90,100]:等級 A

  [80,90):等級 B

  [70,80):等級 C

  [60,70):等級 D

  [0,60):等級 E

具體要求:

  (1)輸入,輸出要有提示信息,輸入成績后要檢查數據的結合性,如果輸入的成績不是0~100的數,則輸出“輸入錯誤!”。程序運行結果示例如下:

      請輸入百分制成績:86

      成績等級: B

  (2)分別使用嵌套的if語句和switch語句實現多分支選擇

  (3)分別輸入109,59,60,70,80,90,100和其他整數,對程序進行測試。

Tip:

  注意定義變量使用的語句(int,double,float等)

  #define _CRT_SECURE_NO_WARNINGS 1與scanf_s可以二選一在這里面

代碼如下:

  先用if語句根據用戶輸入的數據,進行判斷輸入對應的數字,再根據數字對應輸出成績等級其實本人認為,這個題可以用if語句直接解決,有效的節省空間,但是不知道怎么了,在寫代碼的時候想if語句和switch語句一起使用,就用了現在的結果,還應該有最優解,歡迎斧正!

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
main()
{
    int  k, j;
    k = 0;
    printf("請輸入百分制成績:");
    scanf_s("%d", &j);
    if (j <= 100 && j >= 90)
    {
        k = 1;
    }
    else if (j < 90 && j >= 80)
    {
        k = 2;
    }
    else if (j < 80 && j >= 70)
    {
        k = 3;
    }
    else if (j < 70 && j >= 60)
    {
        k = 4;
    }
    else if (j < 60 && j >= 0)
    {
        k = 5;
    }
    else
    {
        printf("\t輸入錯誤!\n");
    }

    switch (k)
    {
    case 1:printf("\t成績等級:A\n"); break;
    case 2:printf("\t成績等級:B\n"); break;
    case 3:printf("\t成績等級:C\n"); break;
    case 4:printf("\t成績等級:D\n"); break;
    case 5:printf("\t成績等級:E\n"); break;
    }
        printf("歡迎使用李同學所寫的代碼,希望能給到你一些幫助!");
}

在此就給出:一張輸入數據正確的截圖 和 一張輸入錯誤數據的截圖

書上說這個題難度:兩顆星

有想看什么程序的 可以評論喔~~~

阿婆主的粉絲少 肯定會回的啦 

我是李同學,希望此篇內容對你有幫助


免責聲明!

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



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