某企业员工按小时计算工资,每月劳动时间(小时)×每小时工资=总工资,总工资中扣除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。这种方法利用了基本的算术运算来简化反转三位数的操作。