在解答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 人评分
矩形面积交 (C语言代码)浏览:1505 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:715 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C++代码)(手动优化一下计算)浏览:1274 |
汽水瓶 (C语言代码)浏览:594 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:534 |
1157题解浏览:710 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:772 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:1456 |
大家好,我是验题君浏览:568 |
sizeof的大作用 (C语言代码)浏览:1020 |