A. 用C编程,设计员工工资计算方法。不求正确。别用C++,今天才学。
#include <stdio.h>
main()
{
short age; //工龄
short hour; //工作时间
float ticheng; //提成
short flag; //退出计算标记
float salary; // 工资结果变量
int type;
while(1)
{
printf("请输入员工类型(0:管理员;1:工人;2:销售经理;3:销售员):\n");
scanf("%d", &type);
if (type == 0) //管理
{
printf("请输入管理员工龄:\n");
scanf("%d", &age);
salary = 5000 + 50 * age;
printf("管理员工资 = %10.2f = 5000 + 50 * %d\n", salary, age);
}
else if (type == 1)//工人
{
printf("请输入工人工龄和工作时间:\n");
scanf("%d %d", &age, &hour);
salary = 3000 + 50 * age + hour * 100;
printf("工人工资 = %10.2f = 3000 + 50 * %d + %d * 100\n", salary, age, hour);
}
else if (type == 2)//销售经理
{
printf("请输入销售经理工龄和销售额:\n");
scanf("%d %f", &age, &ticheng);
salary = 6000 + 50 * age + ticheng * 0.005;
printf("销售经理工资 = %10.2f = 6000 + 50 * %d + %d * 0.005\n", salary, age, ticheng);
}
else if (type == 3)//销售员
{
printf("请输入销售员工龄和销售额:\n");
scanf("%d %f", &age, &ticheng);
salary = 50 * age + ticheng * 0.05;
printf("销售经理工资 = %10.2f = 50 * %d + %d * 0.05\n", salary, age, ticheng);
}
else
{
printf("员工类型出错!\n\n");
}
printf("是否继续计算(0/1):\n");
scanf("%d", &flag);
if (flag != 1) return;
}
}
B. 用C语言编写计算工人工资
#include&lt;stdio.h&gt;
void main()
{
int hour;
int salary;
scanf("%d",hour);
switch(hour/60)
{
case 0:
{
salary=hour*84-700;
break;
}
case 1:
{
salary=hour*84;
break;
}
case 2:
{
salary=120*84+(hour-120)*(84*1.5);
break;
}
default:
printf("工时错误!");
}
printf("工资为%d",salary);
}
抱歉,好久没弄C了,上面随便写没编译,刚才又弄了一下
#include<stdio.h>
void main()
{
int hour=0;
double salary;
scanf("%d",&hour);
while(hour<0)
{
printf("工时错误,重新输入!");
scanf("%d",&hour);
}
switch(hour/60)
{
case 0:
{
salary=hour*84-700;
break;
}
case 1:
{
salary=hour*84;
break;
}
case 2:
{
salary=120*84+(hour-120)*(84*1.15);
break;
}
}
printf("工资为%f",salary);
}
C. 用C语言编写计算工人工资怎么编写
用C语言编写计算工人工资怎么编写?
某工厂按工人的工时计算工人工资,规则如下:工资按每小时84元计发。若总工时>120小时,超过120小时的部分每小时加发15%;若总工时<60小时,则总工资扣发700元。编写程序,从键盘录入某工人的工时,程序能计算并输出该工人的工资。(画出程序流程图)
D. C语言 计算程序员的收入
#include <stdio.h>
int main()
{
int hour;
int money;
scanf("%d",&hour);
if(hour < 160)
{
money = hour * 10;
}
else
{
money = 10 * 160 + (hour - 160) * 30;
}
printf("%d ",money);
return 0;
}
E. C语言编程,计算工资并计算税后工资
#include<stdio.h>
#defineX400//美元
#defineY15//40小时后
#defineA300*0.15//前300
#defineB(450-300)*0.20+A
#defineC0.25
intmain(void)
{
inta=0;
intb=0;//含税工资
while((scanf_s("%d",&a))==1)//这里不要加换行。
{
if(a<=40)
{
b=a*10;//这里应该是a*10
printf("%d ",b);
}
elseif(a>40)
{
printf("%d ",(a-40)*Y+X);//工资
b=(a-40)*Y+X;
}
break;
}
printf("%d ",b);
if(b<=300)
printf("%d ",b*(1-0.15));
elseif(b<=450)
printf("%d ",b-(b-300)*0.2-300*0.15);
else
printf("%d ",b-(b-450)*C-(B));
return0;
//getchar();
}
F. 用C语言编写一个计算薪水的程序
/*工资计算程序*/
#include <stdio.h>
main()
{
float originWage; /*应发工资*/
float realWage; /*实发工资*/
float tax; /*所缴税款*/
int i,hour,amount,money;
printf("请选择工资种类:\n1.计时工资\n2.计件工资\n3.固定月工资\n");
scanf("%d",&i);
switch(i)
{
case 1:{
printf("请输入工作时间(单位:小时)\n");
scanf("%d",&hour);
printf("请输入单位时间的薪水(单位:元)\n");
scanf("%f",&money);
originWage=money*hour;
}
break;
case 2:{
printf("请输入生产产品数量(单位:件)\n");
scanf("%d",&amount);
printf("请输入生产一件产品的薪水(单位:元)\n");
scanf("%f",&money);
originWage=money*amount;
}
break;
case 3: printf("请输入你的固定工资\n");
scanf("%f",&originWage);
break;
default:printf("输入错误!\n");
return 0;
}
if(originWage<0)
{
printf("数据错误!\n");
return 0;
}
if(originWage<2000)
tax=0;
else if(originWage>2000&&originWage<=2500)
tax=(originWage-2000)*0.05;
else if(originWage>2500&&originWage<=4000)
tax=(originWage-2500)*0.1+500*0.05;
else
tax=(originWage-4000)*0.15+1500*0.1+500*0.05;
printf("应发工资: %f\n",originWage);
printf("所缴税款: %f\n",tax);
printf("实发工资: %f\n",originWage-tax);
return 0;
}
G. C语言,模拟工资计算器,计算一个销售人员的月工资的数量(月工资=基本工资+提成,提成=商品数*1.5)。
楼主的代码存在两个明显问题:
1、数值类型掌握不好
计算工资时很可能出现小数,而楼主声明变量时完全采用了int型,先不说是否逻辑正确。int型的变量直接与后面代码冲突。
有两个问题:
1.1:
scanf()中楼主在括号内写的是%ld,%ld等待的输入类型是long int,而楼主声明的是
int。
1.2:
iCommission=(iSales*1.5);
iSales为整形,1.5为浮点型,iSales*1.5的结果会隐式转换为浮点型,而iCommission为
整型int。在赋值时会产生错误。
需要补充知识点:参数类型的定义和转换。请查阅任何一本C语言教材。
2、scanf()函数掌握不好
这也是楼主最关心的问题,scanf()中 、空格和制表符都是是空白符。空白字符会使scanf()函数在读操作中略去输入中的一个或多个空白字符。只有输入一个非空白符的时候才能终止scanf的输入。另外在上一点提出的参数类型也需要格外注意。
需要补充知识点:scanf()函数的使用方法。请查阅相关文档。
http://ke..com/link?url=_
再啰嗦几句:puts()函数用来向标准输出设备(屏幕)写字符串并换行,其调用方式为,puts(s);其中s为字符串字符(字符串数组名或字符串指针)。虽然楼主的使用方式也正确,但是最好也查阅一下更标准的使用方法。
http://ke..com/link?url=MVSb8tWqQPMLWzKve4IpvgamU_2P--Rf63HG3AeUc3Cb7XRp53K35Bs9IQ_8IA3Y2lqRaZ0zCTenPgzg8RLSYK
下面贴出我修改后的代码:
#include<stdio.h>
intmain()
{
doubleiSalary,iBasic,iCommission,iSales;
printf("Pleaseenterthebasicpayment:");
scanf("%lf",&iBasic);
printf("Pleaseenterthesales:");
scanf("%lf",&iSales);
iCommission=(iSales*1.5);
printf("提成工资为:%lf ",iCommission);
iSalary=(iBasic+iCommission);
printf("月工资数量:");
printf("%lf",iSalary);
return0;
}
请楼主注意其中变量类型的变化以及输入输出中%后面的变化。
小提示:编程过程中细节真的很重要啊,还有,以后遇到问题,试着分解成一个个小问题分析,再查找相关的解决办法,学会善用搜索引擎。比如楼主在输入时遇到了问题,就要想是不是scanf出问题了呀,进而去搜索它的正确用法。这才是真正的解决问题。
H. c语言,模拟工资计算器,计算一个销售人员的月工资的数量
#include<stdio.h>
void main()
{
double salry;
int day,month,year;
double daySalry;
pirintf("请输入员工的日工资,工作时间");
scanf("%d%d%f",month,year,daySalry);
switch(month)
{
case 1: case 3: case 5:case 7: case 8:case 10:case 12: salry = daySalry*31; break;
case 2:
if(year%4==0||year/400==0)
salry = daySalry*28;
else salry = daySalry*29;
break;
case 4: case 6:case 9:case 11: salry = daysalry *30; break;
}
}
I. C语言问题
#include<stdio.h>
int main()
{
int a[5],i;
double sum=0;
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(i=0;i<5;i++)
{
if(a[i]>11000)
sum+=(a[i]-11000)*0.09+11000*0.06;
else
sum+=a[i]*0.06;
}
printf("%lf\n",sum);
}