困C之斗 2008-9-20 23:20
不会做的练习题,大家来指点一下
1. 编写一个程序。该程序读取输入直遇到#字符。然后报告读取的空格数目、读取的换行符数目以及读取的所有其他字符数目。
2.编写程序,要求输入一周中的工作小时数,然后打印工资总额、税金以及净工资。作如下假设:
a.基本工资等级=10.00美元/小时
b加班(超过40个小时)=1.5倍的时间
c.税率 前300美元为15%
下一个150美元为20%
余下的为25%
jason 2008-9-21 08:59
1.使用cin.get()可以读入回车符,一个一个读的,读一个判断一个就行了
或者 char array[n] 然后 cin.getline(array,n,'#') n为要读入的字符个数,可以设为一个大值,因为第三个参数
'#'为结束标识
//注:cin.getline()一般使用时只用了两个参数,系统默认结束标识为换行符'\n'
2.就是个简单的if--else判断结构
沸腾 2008-10-9 14:59
程序二
#include<stdio.h>
#include<math.h>
void main()
{
float hour,wage,tax,s;//hour表示工作小时数,wage表示工资总额,tax表示税金,s表示净收入
printf("请输入一周的工作小时数:");
scanf("%f",&hour);
if(hour>=0&&hour<=40)
{wage=hour*10.00;
if(hour<=30)
tax=wage*0.15;
else tax=300*0.15+(wage-300)*0.20;
}
else if (hour>40)
{ wage=40*10.00+(hour-40)*1.5*10.00;
if((40+1.5*(hour-40)*10.00)-300<=150)
tax=300*0.15+(wage-300)*0.20;
else tax=300*0.15+150*0.20+(wage-300-150)*0.25;
}
s=wage-tax;
printf("工资总额为:%f 税金为:%f 净收入为:%f \n",wage,tax,s);
}