在解答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++代码)浏览:900 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:1055 |
汽水瓶 (C语言代码)浏览:634 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:529 |
C语言训练-角谷猜想 (C语言代码)浏览:1745 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:691 |
A+B for Input-Output Practice (V) (C语言代码)浏览:490 |
1124题解浏览:608 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:648 |
2006年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:367 |