你犯错了吗?–C语言篇
1. 注意表达式中整数与整数除法,可能需要添加小数点。
eg: 一个物体从100米的高空自由落下。编写程序,求它在前3秒内下落的垂直距离。设重力加速度为10米/秒2。
//错误代码:
#include<stdio.h>
int main()
{
printf("height = %.2f", 1/2*10*3*3 );
return 0;
}
//由于1/2的结果是0,所以这道题目的答案总是0。即使前面使用了%.2f这样的控制输出浮点数的操作,然而根据从左向右的计算顺序,答案变成了0。
//正确代码:
#include<stdio.h>
int main()
{
printf("height = %.2f", 1/2.0*10*3*3 );
return 0;
}
//同类题型:1/i其中i是整型,要强制类型转换
#include<stdio.h>
int main(){
int N,i=1;
double sum=0;
scanf("%d", &N);
while(i<=N){
sum+=(double)1/ i;
i+=1;