c语言计算年龄的编程,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
#include
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
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等整十数字单独判断
反思
对数组理解不够到位,正确输出数值需多次判断;
语法错误仍存在,需要多多联系,增加代码量;
多多思考,培养编程思维;
c语言计算年龄的编程,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
#include
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
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等整十数字单独判断
反思
对数组理解不够到位,正确输出数值需多次判断;
语法错误仍存在,需要多多联系,增加代码量;
多多思考,培养编程思维;