c - Turbo C 给出的输出为 0.000000
问题描述
我已经为 Turbo C 设置了正确的目录路径。但它的输出为 0.000000
以下是程序:
#include <conio.h>
#include <math.h>
#include <stdio.h>
void main() {
int n;
float r, si, ci, p;
clrscr();
printf("enter principle amount\n");
scanf("%f", &p);
printf("enter rate of interest\n");
scanf("%d", &r);
printf("enter number of years\n");
scanf("%f", &n);
si = p * n * r / 100;
ci = p * (pow((1 + (r / 100)), n) - 1);
printf("simple interest=%f\n", si);
printf("compound interest=%f", ci);
getch();
}
它应该给出数字而不是 0.000000
有什么帮助吗?
解决方案
改变:
scanf("%f",&n);
到:
scanf("%d",&n);
正如评论中已经建议的那样,因为n
是整数,而不是浮点数。
对于r
类型float
,您应该使用scanf("%f",&r);
.
PS:考虑使用现代编译器,例如 GCC。
推荐阅读
- java - 带有 RedissonSessionManager 的 Tomcat 无法反序列化 SecurityContextImpl
- sybase - 标量 SQL 函数中的 Sybase 函数非法 INSERT 语句
- c# - c#表达式树:使用out-parameter调用方法?
- c++ - 如何在C/C++中使用ffmpeg的黑框avfilter
- python - 由 cX_Freeze 6.1 版创建的 exe 文件被卡巴斯基检测为病毒
- windows - Powershell获取OU中所有服务器的lastlogonDate
- python - Python Beautiful Soup:从元素中获取文本
- linux - 地理服务器自动启动错误。活动状态:活动(退出)
- javascript - 为什么在 Google Docs 中复制表格不会复制嵌入的图形?
- printing - Print Composer 中的标签