C语言实战开发: 利用if 实现“税后工资”,“输出年龄”

C语言实战开发 2019-11-15

用所学知识编写简单的两个程序

  • 程序一:给定工资,计算税后工资并输出
  • 程序二:以阿拉伯数字给定年龄,输出数字年龄的英文翻译

一、税后工资实战

/*
    输入工资 计算税后工资
    <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("请输入你的工资:");
    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; 
}
  • 次项目较为简单,多次利用if语句即可完成;
  • 算法较多,可找到合适的算法对代码进行优化,以上为优化后源代码。

二、输出年龄

#include <stdio.h> 
int main()
{ 
    //x是个位  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("请输入你的年龄:");
    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个位 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; //提前结束 
    } 
    printf("age is %s\n",english);
    return 0;
} 

本次实战要点:

  • 利用数组,将阿拉伯数字与英文联系起来,用充分理解数字的含义并运用到实际问题中去
  • 利用if判断语句,对不同类型年龄进行判断
  • 清楚了解各类数据类型的输入输出格式
  • 涉及指针

存在的问题:

  • 当年龄输出20,30等整十时 twenty- 这个“-”仍存在。可给20,30等整十数字单独判断

反思

  • 对数组理解不够到位,正确输出数值需多次判断;
  • 语法错误仍存在,需要多多联系,增加代码量;
  • 多多思考,培养编程思维;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容