fakersaber 2015-11-19 02:26 采纳率: 40%
浏览 1299

C语言的简单问题求解,谢谢了

ACM上一道简单的题
Description
计算:t=1-1/(2*2)-1/(3*3)-...-1/(m*m)

Input
整型变量m

Output
t(保留六位小数)

Sample Input
10
Sample Output
0.450232

我的代码
#include
#include

int main()
{
int m,n;
float t=1;
do{
scanf("%d",&m);
}while(m<1);
for(n=2;n<=m;n++)
{
t=t-1.0/(n*n);
}
printf("%.6f",t);
return 0;
}
感觉怎么都没有错啊

  • 写回答

2条回答 默认 最新

  • BoostZ 2015-11-19 02:53
    关注

    你输入数据的方式可能有问题 。
    如果只有一组输入,那直接用scanf("%d", &m);
    如果有多组输入,并且以特定输入(比如m等于0)结尾,那么程序应该写成
    while (scanf("%d", &m) && m != 0)
    {
    // 主要程序
    }
    而如果只告诉有多组输入,而没有告知特定条件,那么通常是用
    while (scanf("%d", &m) != EOF)
    {
    // 主要程序
    }
    这里的EOF是end of file的意思,因为ACM判题的方式将输入和输出分别放在文件中,然后读取输入文件中的数据,再将你程序的输出与输出文件中的结果进行比对。所以只有将所有输入全部读完,结果都正确并且时间、空间都满足条件的情况下才能通过题目。

    另外这种计算小数的题目你需要注意题目中有没有对四舍五入有特殊要求,这也可能是WA的一种可能

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。