典型错题:
假如我国国民生产总值的年增长率为9%,计算10年后我国国民生产总与现在相比增长了多少百分比。(计算公式为P=(1+r)的n次方,r为年增长率,n为年数,p为与现在相比的倍数)
#include <stdio.h>
int main()
{
int p,r,n;
scanf("%d,%d,%d",&p,&r,&n);
n=10;
r=0.09;
p=pow((1+r),n);
printf("%d",p);
return 0;
错误原因:1、引入了数学函数pow第二行应加上#include<math.h>
2、数据中有小数即应该用浮点型:把int p,r,n改为float p,r,n
%d改为%f
3、此处已经对r n分别赋值不需要scanf函数 (而且就算用scanf的情况也不要输入p)
注意: 如果scanf中%d是连着写的如“%d%d%d”,在输入数据时,数据之间不可以用逗号分隔,只能用空白字符(空格或tab键或者回车键)分隔——“2 (空格)3(tab) 4” 或 “2(tab)3(回车)4”等。若是“%d,%d,%d”,则在输入数据时需要加“,”,如“2,3,4”。
正确代码
如果采取手动输入(本题不建议使用)
对同一变量赋值了就不要在用输入函数scanf了