C語(yǔ)言實(shí)戰(zhàn)開(kāi)發(fā): 利用if 實(shí)現(xiàn)“稅后工資”,“輸出年齡”

C語(yǔ)言實(shí)戰(zhàn)開(kāi)發(fā) 2019-11-15

用所學(xué)知識(shí)編寫簡(jiǎn)單的兩個(gè)程序

  • 程序一:給定工資,計(jì)算稅后工資并輸出
  • 程序二:以阿拉伯?dāng)?shù)字給定年齡,輸出數(shù)字年齡的英文翻譯

一、稅后工資實(shí)戰(zhàn)

/*
    輸入工資 計(jì)算稅后工資
    <5000
    5k-8k   10%     
    8k-10k  15%   
    >10k    20% 
    例如  10000:salary=10000-(10000-8000)*0.15-(8000-5000)*0.1=9400  
*/

#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
    float x;
    float salary;
    float tax; 
    printf("請(qǐng)輸入你的工資:");
    scanf("%f",&x);
    if(x>=10000)
        tax=(x-10000)*0.2+300+300;  
        else if(x>=8000&&x<10000)
            tax=(x-8000)*0.15+300; 
            else if(x>=5000&&x<8000)
                tax=(x-5000)*0.1;
                else tax=0;
                  salary=x-tax; 
    printf("你的稅后工資是:%f\n",salary); 
    return 0; 
}
  • 次項(xiàng)目較為簡(jiǎn)單,多次利用if語(yǔ)句即可完成;
  • 算法較多,可找到合適的算法對(duì)代碼進(jìn)行優(yōu)化,以上為優(yōu)化后源代碼。

二、輸出年齡

#include <stdio.h> 
int main()
{ 
    //x是個(gè)位  y是十位  z是11-19 
    char* gewei[]  = {"","one","two","three","four","five","six","seven","eight","nine"};
    char* shiwei[] = {"twenty","thiry","forty","fifty","sixty","seventy","eighty","ninety"};
    char* temp[]   = {"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eignteen","nineteen"};

    int age;
    printf("請(qǐng)輸入你的年齡:");
    scanf("%d",&age);
    
    char *english;
    if(age<10&&age>0)
    {
        english = gewei[age];
    }
    else if(age<=19&&age>=10)
    {
        int index = age%10;
        english = temp[index];
    }
    else if(age>=20&&age<=99)  //將個(gè)位十位以此導(dǎo)出 g個(gè)位 s十位 
    {   
        int g = age%10;
        int s = age/10;
        char* sString = shiwei[s-2];
        char* gString = gewei[g];
        printf("age is %s-%s\n",sString,gString);
        return 0; //提前結(jié)束 
    } 
    printf("age is %s\n",english);
    return 0;
} 

本次實(shí)戰(zhàn)要點(diǎn):

  • 利用數(shù)組,將阿拉伯?dāng)?shù)字與英文聯(lián)系起來(lái),用充分理解數(shù)字的含義并運(yùn)用到實(shí)際問(wèn)題中去
  • 利用if判斷語(yǔ)句,對(duì)不同類型年齡進(jìn)行判斷
  • 清楚了解各類數(shù)據(jù)類型的輸入輸出格式
  • 涉及指針

存在的問(wèn)題:

  • 當(dāng)年齡輸出20,30等整十時(shí) twenty- 這個(gè)“-”仍存在??山o20,30等整十?dāng)?shù)字單獨(dú)判斷

反思

  • 對(duì)數(shù)組理解不夠到位,正確輸出數(shù)值需多次判斷;
  • 語(yǔ)法錯(cuò)誤仍存在,需要多多聯(lián)系,增加代碼量;
  • 多多思考,培養(yǎng)編程思維;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容