在解答Sn=aaa+aa+a题目时候,用到了math.h的pow函数,发现:这个函数是double数据,开始用int数据进行编程,但在pow(10,n-1)当n-1为奇数时结果会小1,但改成float Sn后就正确了。
#include <stdio.h>
#include <math.h>
int main(){
int n,temp;
float Sn; /*若改成int Sn;以及输出时用%d就会导致错误*/
while(n){
temp=n;
while(temp){
Sn += 2*pow(10,temp-1)
temp--;
}
n--;
}
printf("%.0f\n",Sn);
return 0;
}
原因不明!!!!
0.0分
0 人评分