单支线
任务和代码
/*
*Copyright (c)2015,CSDN学院
*All rights reserved.
*文件名称:three(first).c
*作 者:刘亦鑫
*完成日期:2015年3月23日
*版本号:v1.0
*
*问题描述:某公司工资按周发放,标准是每小时制20元,若员工周工作时间超过40小时,超出部分每小时30元。编程序输入一名员工一周的工作小时数,输出他的周工资。
* 样例输入之一:32
* 样例输出之一:640
* 样例输入之二:48
* 样例输出之二:1040
*程序输出:输入一名员工一周的工作小时数,输出他的周工资。
*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,c,t;
printf("请输入员工的工作小时数:");
scanf("%d",&a);
b=0;
if(a>40) //判断工作时间是否大于40
{
b=20*40+30*(a-40); //如工作时间大于则计算出工资并赋值给b
}
c=20*a;
if(b>c) //如果工作时间大于40,则b被进行了赋值,b大于t,b与t进行值交换
{
t=c;
c=b;
b=t;
}
printf("该员工的工资为:%d\n",c);
return 0;
}
运行结果
知识点总结
先把0赋值给b,然后判断工作时间a是否大于40,如大于则计算工资并赋值给b,如小于则不做处理。c为普通时间工资乘以工作时间。最后用b与c比较,如b大于c则交换值,如小于c则不做处理,最后输出c
心得
在这种只输入一个值的情况下,用单支线判断看似简单,实则要花费很多脑力,吃力不讨好。
双支线
任务和代码
/*
*Copyright (c)2015,CSDN学院
*All rights reserved.
*文件名称:three(second).c
*作 者:刘亦鑫
*完成日期:2015年3月23日
*版本号:v1.0
*
*问题描述:某公司工资按周发放,标准是每小时制20元,若员工周工作时间超过40小时,超出部分每小时30元。编程序输入一名员工一周的工作小时数,输出他的周工资。
* 样例输入之一:32
* 样例输出之一:640
* 样例输入之二:48
* 样例输出之二:1040
*程序输出:输入一名员工一周的工作小时数,输出他的周工资。
*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b;
printf("请输入员工的工作小时数:");
scanf("%d",&a);
if(a>40)
{
b=20*40+30*(a-40);
}
else
{
b=20*a;
}
printf("该员工的工资为:%d\n",b);
return 0;
}
运行结果
知识点总结
判断员工的工作时间是否大于40,如大于则计算超出时间的工资,如小于40,则直接计算工资
心得
在这种只需输入1个值的问题下,使用if else 双支线语句一目了然,事半功倍。