在本实验中,系统要求您声明两个整数类型的变量:userNum和x。用户应使用scanf语句存储输入内容。然后要求您将userNum的值除以x的三倍(三个不同的操作)。每次进行除法时,都将值分配给userNum,以覆盖先前的值并使用print语句将其打印出来。这样做三遍。在这种情况下,最后只有一个新行打印语句。
此实验是特定的,我只能声明int变量。
#include <stdio.h>
int main(void) {
int x;
int userNum;
scanf("%d %d" , &userNum, &x);
userNum = (double)userNum / x;
printf("%d " , userNum);
userNum = (double)userNum / x;
printf("%d " , userNum);
userNum = (double)userNum / (double)x;
printf("%lf\n" , (double)userNum);
return 0;
}"
我的输入是100 2
。
我的输出是50 25 12.000
。
这里实际上没有什么错。当将强制转换值12.5分配给变量userNum(它是一个整数)时,它将隐式将其强制转换回一个整数,因此将小数部分截断,将12.5转换为12。
如果要输出其小数部分,则可以在上一次计算中执行以下操作:
printf("%lf\n" , (double)userNum / (double)x);
-
代替您当前的最后两行:
userNum = (double)userNum / (double)x;
printf("%lf\n" , (double)userNum);