c primer plus 第七章

6.编写一个程序读取输入,直到#,并报告序列ei出现的次数。 此程序必须要记住前一个字符和当前的字符。用诸如“Receive your eieio award.”的输入测试它。
#include <stdio.h>
int main(void)
{
	int count= 0;
	char formar= 0, ch;
	printf("Type your words\n");
	printf("End with '#'\n");
	while((ch=getchar())!='#')
	{
		if((formar=='e')&&(ch=='i')) count++;
		formar=ch;
	}	
	printf("%d times ei\n",count);
	return 0;
}

这个程序关键在怎么处理ei,定义两个符号变量,循环一次后,将后边变量的值赋给前边的变量。

 7.编写程序,要求输入一周中的工作小时数,然后打印工资总额、税金以及净工资。作如下假设:
    a.基本工资等级=10.00美元//J,时
    b.加班(超过40小时)=1.5倍的时间
    c.税率    前300美元为15%
    下一个150美元为20%
    余下的为25%
  用#define定义常量,不必关心本例是否符合当前的税法。

#include <stdio.h>
//基本工资
#define BASIC 10.00     //10.00$/hour
//加班时间
#define MORE 1.5        //1.5 times work tiem
//rate
#define RATE1 0.15
#define RATE2 0.2
#define RATE3 0.25
#define SALARY1 300
#define SALARY2 150
int main(void)
{
	double hours,salary= 0,tax= 0,salary_left= 0;
	printf("Please input your work hours\n");
	scanf("%lf",&hours);
	if(hours<= 40)
		salary= BASIC* hours;
	else
		salary= BASIC* 40+ BASIC* (hours-40)*MORE;
	if(salary<= SALARY1)
		tax= salary* RATE1;
	else if(salary<= SALARY1+SALARY2)
		tax= SALARY1* RATE1+ (salary- SALARY1)* RATE2;
	else
		tax= SALARY1* RATE1+ SALARY2* RATE2+ (salary-SALARY1-SALARY2)*RATE3;
	salary_left= salary- tax;
	printf("salary  %lf\n",salary);
	printf("tax  %lf\n",tax);
	printf("salary_left  %lf\n",salary_left);
	return 0;
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值