在解答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 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区