实验
某企业员工按小时计算工资,每月劳动时间(小时)×每小时工资=总工资,总工资中扣除10%公积金,剩余的为应发工资。编写一个程序计算并输出某位员工的应发工资。
具体要求:
①该员工的劳动时间和每小时工资数通过键盘输入,且在输入前要有提示信息。
②在输出结果时要有文字说明,输出结果的小数点后取2位小数。
③工作时间定义为基本整型变量,每小时工资及总工资定义为双精度类型。
#include <stdio.h>int main(){double x; //每小时工资int y; //工作小时数double num; //总工资printf("请输入每小时工作和工作时间!\n");scanf("%lf %d",&x,&y);num = x * y; //计算总工资num = num * 0.9;//扣税printf("这月工资为:%.2lf\n",num);return 0;
}
注意:
scanf读取数据时要加上&来获取地址!
printf:输出%.2lf是对应的double类型且保留2位小数!
实验二:水果
编写一个程序用于水果店售货员结账:已知苹果2.50元/斤,鸭梨1.80元/斤,香蕉2.00元/斤,桔子1.60元/斤。
具体要求:
①输入各类水果的重量(输入前要有提示信息),计算并输出应付钱数,且输出结果要有文字说明。
②再输入顾客实际付款数,计算并输出应找钱数,且输出结果要有文字说明。
#include <stdio.h>int main(){//定义水果的价格double apple_price = 2.50, pear_price = 1.80,banana_price = 2.00,orange_price = 1.60;double apple_weight, pear_weight,banana_weight,orange_weight;//输入水果的重量printf("请输入苹果的重量(斤):");scanf("%lf",&apple_weight);printf("请输入鸭梨的重量(斤):");scanf("%lf",&pear_weight);printf("请输入香蕉的重量(斤):");scanf("%lf",&banana_weight);printf("请输入桔子的重量(斤):");scanf("%lf",&orange_weight);//计算应付钱数double total = apple_price * apple_weight + pear_price * pear_weight+ banana_price * banana_weight + orange_price * orange_weight;printf("您应付的钱数是:%.2f元\n",total);//输入顾客实际付款数,计算并输出应找钱数double payment;printf("请输入您支付的金额(元):");scanf("%lf",&payment);double change = payment - total;printf("应找给您的钱数是: %.2f元\n",change);return 0;
}
在C语言的
printf
函数中,并没有直接添加换行符的参数。然而,当你使用printf
函数输出内容时,新的一行通常会在输出的内容后自动开始。这是由于printf
函数默认会在每次输出后添加一个换行符('\n'),这会导致输出后的自动换行。因此,在你的代码中,每个
printf
语句后都会自动开始新的一行,所以你不需要手动添加换行符。
实验三:数字反转
输入一个三位数,分离出它的百位、十位和个位,反转后输出。
样例输入:127
样例输出:721
#include <stdio.h>int main() {int num, reversedNum;printf("请输入一个三位数:");scanf("%d", &num);//反转后输出reversedNum = (num % 10) * 100 + (num % 100 / 10) * 10 + num / 100;printf("反转后的数为:%d\n", reversedNum);return 0;
}
reversedNum = (num % 10) * 100 + (num % 100 / 10) * 10 + num / 100;
(num % 10) * 100
: 这部分代码获取num
的个位数,并乘以 100。例如,如果num
是 123,那么这部分的值就是 300。(num % 100 / 10) * 10
: 这部分代码首先获取num
的十位数,方法是取num
除以 10 的余数(即个位数)。然后,将得到的十位数除以 10。这个操作实际上是在将十位数转化为一个单个的数字。例如,如果num
是 123,这部分的值就是 20。num / 100
: 这部分代码直接获取num
的百位数。将上述三部分相加,我们就得到了一个反转后的三位数。
例如:
- 如果
num
是 123,那么反转后的数就是 321。- 如果
num
是 456,那么反转后的数就是 654。这种方法利用了基本的算术运算来简化反转三位数的操作。