C语言 超级菜鸟请教高人

来源:百度知道 编辑:UC知道 时间:2024/06/10 12:02:41
#include <stdio.h>
#include <math.h>
void main()
{
double money,capital,year,rate;
rate=2.75/100;
printf("请依次输入本金和存款年限:\n");
scanf("%d%d",&capital,&year);
money=capital*(pow(1+rate,year));
printf("%d 到期后本息之和为\n",money);
}
按照如此修改为什么还是答案为0...

你定义的是double类型你应该用%lf格式符输入,而不 是%d,那样小数就会被取整,结果就为0了,这是关键。
#include <stdio.h>
#include <math.h>
void main()
{
double money,capital,year,rate;
rate=2.75/100;
printf("请依次输入本金和存款年限:\n");
scanf("%lf%lf",&capital,&year);
money=capital*(pow(1+rate,year));
printf("%lf 到期后本息之和为\n",money);
}

scanf("%d%d",&capital,&year); printf("%d 到期后本息之和为\n",money);
格式不对。capital year,money都为double.不可以用%d
改为
scanf("%f%f",&capital,&year);
printf("%f 到期后本息之和为\n",money);

改了一点,看一下
你的输入输出还没弄明白、、

#include <stdio.h>
#include <math.h>
void main()
{
float money,capital,year,rate;
rate=2.75/100.0;
printf("请依次输入本金和存款年限:\n");
scanf("%f%f",&capital,&year);
money=capital*(pow(rate+1,year));
printf(&q