1. 程式人生 > >C語言及程式設計初步例程-26 利用switch語句解決問題

C語言及程式設計初步例程-26 利用switch語句解決問題


應用:計算運費
每公里每噸貨物的基本運費為p(price),貨物重為w(weight),距離為s,折扣為d(discount),則總運費f(freight)的計算公式為 freight=price*weight*s*(1-discount)

#include <stdio.h>
int main()
{
    int c,s;
    float p,w,d,f;
    printf("please enter p,w,s: ");
    scanf("%f%f%d", &p, &w, &s);
    if(s>=3000)
        c=12;
    else
        c=s/250;
    switch (c)
    {
    case 0:
        d=0;break;
    case 1:
        d=2;break;
    case 2:
    case 3:
        d=5;break;
    case 4:
    case 5:
    case 6:
    case 7:
        d=8;break;
    case 8:
    case 9:
    case 10:
    case 11:
        d=10;break;
    case 12:
        d=15;break;
    }
    f=p*w*s*(1-d/100.0);
    printf("freight=%.2f\n", f);
    return 0;
}

用switch求分段函式
#include <stdio.h>
#include <math.h>
int main()
{
    double x, y;
    int t;
    scanf("%lf", &x);
    t=(x<2)+(x<6)+(x<10);
    switch(t)
    {
    case 3: //(x<2)、(x<6)、(x<10)全為真時
        y=x;
        break;
    case 2://(x<6)、(x<10)為真時
        y=x*x+1;
        break;
    case 1://僅(x<10)為真時
        y=sqrt(x+1);
        break;
    case 0:  //(x<2)、(x<6)、(x<10)沒有一個為真,即x>=10
        y=1/(x+1);
    }
    printf("%lf\n", y);
    return 0;
}


相關推薦

C語言程式設計初步-26 利用switch語句解決問題

應用:計算運費每公里每噸貨物的基本運費為p(price),貨物重為w(weight),距離為s,折扣為d(discount),則總運費f(freight)的計算公式為 freight=price*wei

C語言程式設計初步-25 用switch語句實現多分支結構

例:這是星期幾?#include <stdio.h> int main() { int week; scanf("%d", &week); switch(we

C語言程式設計初步-42 將資料輸出到文字檔案

檔案的操作步驟#include <stdio.h> #include <stdlib.h> int main() { FILE *fp; int i, d;

C語言程式設計初步》-07分支結構程式設計體驗

07分支結構程式設計體驗 【專案1-正差值】 給定兩個正整數,求出兩數的正差值並輸出。 樣例輸入  樣例輸出 7 10 3 12 7   5 /* [cpp] Program 0702 【專案1-正差值】 *Copyright (c)2016,賀立堅

C語言程式設計初步》第四講實踐專案

編譯環境:Dev-C++ 5.63 //攝氏溫度轉換為華氏溫度 #include <stdio.h> int main() {float C,F;printf("請輸入攝氏溫度值:");s

C語言程式設計初步》第36講實踐專案

專案1: #include <stdio.h> int main() { char c; int i; scanf("%d",&i); while(

C語言程式設計 實踐參考——個人所得稅計算器if語句

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

C語言程式設計》程式閱讀——三種迴圈語句

讀程式,寫出執行結果,並與計算機執行的結果進行對照(1)#include <stdio.h> int main( ) { char c1,c2; for(c1='0',c

C語言程式設計進階-2 一個程式,多個檔案

演示:建立多檔案的專案main.c#include <stdio.h> int max(int x,int y); int main( ) { int a,b,c; printf("輸入兩數:"); scanf("%d %d", &a, &b

C語言程式設計》實踐專案——一維陣列初步

【專案1 - 陣列大折騰】(1)建立一個有20個元素的整型陣列,通過初始化,為陣列中的前10個元素賦初值,然後通過鍵盤輸入後10個元素的值,從前往後(從第0個到第19個)輸出陣列中元素的值,每5個元素換一行。int main( ) { int a[20]={...};

C語言程式設計》實踐專案——用檔案輸入輸出初步

【專案1-由鍵盤到檔案】 (1)從鍵盤輸入一個檔名,以及一個以#結束的字元序列,將輸入的字元儲存到檔案中去。 #include "stdio.h" #include "stdlib.h" in

C語言程式設計》實踐專案——連結串列初步

【專案1-連結串列的合併】 輸入一個整數m,表示A連結串列的長度,再輸入m個數作為A連結串列中的m個數據元素,建立連結串列A,其頭指標為heada。輸入一個整數n,表示B連結串列的長度,再輸入n個

C語言程式設計 實踐參考 迴圈的巢狀流程圖

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

C語言程式設計 實踐參考 分段函式求值switch語句

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

C語言程式設計 實踐參考——定期存款利息計算器

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Mr.J--C語言經典程式設計100

C語言,一般為初學者的首選語言,說簡單也簡單,但是要真正學好C語言,也是一件很難的事,懂了這些100個例題,也就算是入門了吧,畢竟語言要學的太多,這只是基礎。   【程式1】 題目:古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長

C語言程式設計 實踐參考 迴圈的巢狀流程圖

                迴圈的巢狀流程圖(1)求s=1!+2!+……10!,即求1到10的階乘和[參考解答]或者: (2)求s=1+2^2+3^3+4^4+5^5+6^6,要求n^n不能用求冪的運算直接計算(n^n表示n的n次方)[參考解答]           

c語言趣味程式設計100】數值轉換

問題:數值轉換 給定一個M進位制的數X 實現對X向任意的一個非M進位制的數的轉換  #include<stdio.h> /* 問題:數值轉換 給定一個M進位制的數X 實現對X向任意的一個非M進位制的數的轉換 **/ #define MAXCHAR 101

c語言趣味程式設計100】氣泡排序

氣泡排序: 實現思路:  氣泡排序的思想就是一次迴圈將兩兩數之間相互比較,將較大的數放到後面,一次比較完之後  程式比較的次數就減少一次,依次比較 每比較一次 比較的次數就減少一次。  因此 用兩個for迴圈 外層用來判斷迴圈的次數,內層for迴圈用來比較程

c語言趣味程式設計100】最佳存款方案

問題:最佳存款方案   假設銀行一年整除領取的月息為0.63% 現在某人手中有一筆錢,他打算在今後的5年中的   每年年底取出1000元 到第5年時剛好取完 請算出他存錢時應存入多少 程式設計思路:    題目中問的是最初存入的錢數是多少